java 程序,通过scanner 编写计算器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 程序,通过scanner 编写计算器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2584字,纯文字阅读大概需要4分钟。
内容图文
package test; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; class Calculator { private Double num1; private Double num2; private String var; private Scanner input; public Double getNum1() { return num1; } public void setNum1(Double num1) { this.num1 = num1; } public Double getNum2() { return num2; } publicvoid setNum2(Double num2) { this.num2 = num2; } public String getVar() { return var; } publicvoid setVar(String var) { this.var = var; } public Scanner getInput() { return input; } publicvoid setInput(Scanner input) { this.input = input; } publicboolean input1(){ System.out.println("请输入第一个数字"); String num1Str = input.next(); if(!this.isNumber(num1Str)){ input1(); }else{ this.num1 =Double.valueOf(num1Str); } returntrue; } publicboolean input2(){ System.out.println("输入第二个数:"); String num2Str = input.next(); if(!this.isNumber(num2Str)){ input2(); }elseif(var.equalsIgnoreCase("/")&&num2Str.equalsIgnoreCase("0")){ System.err.println("除数不能为0"); input2(); }else{ this.num2 =Double.valueOf(num2Str); } returntrue; } publicboolean inputVar(){ System.out.println("输入计算符号:+ - * /"); String varStr=input.next(); Pattern pat=Pattern.compile("[+-\\\\*/]"); Matcher match=pat.matcher(varStr); boolean flag=match.matches(); if(flag==false){ System.err.println("运算符号不正确!"); inputVar(); }else{ this.setVar(varStr); } returntrue; } publicvoid goCal(){ Scanner input= new Scanner(System.in); this.setInput(input); boolean flag1=this.input1(); if(flag1){ if(this.inputVar()){ if(this.input2()){ calculate(); } } } } publicvoid calculate(){ try { switch (var) { case "+": System.out.println(num1+"+"+num2+"="+(num1+num2)); break; case "-": System.out.println(num1+"-"+num2+"="+(num1-num2)); break; case "*": System.out.println(num1+"-"+num2+"="+(num1*num2)); break; case "/": System.out.println(num1+"/"+num2+"="+(num1/(double)num2)); break; default: break; } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); if(input!=null){ input.close(); System.exit(0); } } if(input!=null){ input.close(); System.exit(0); } } publicboolean isNumber(Object obj){ if(obj==null||obj.toString().equals("")){ returnfalse; } Pattern pattern=Pattern.compile("[0-9]+.*[0-9]*"); String str=obj.toString(); Matcher matcher=pattern.matcher(str); boolean flag=matcher.matches(); if(flag==false){ System.err.println("请输入有效数值!"); } return flag; } } publicclass TestB { publicstaticvoid main(String[] args) { Calculator cal = new Calculator(); cal.goCal(); } }
原文:http://www.cnblogs.com/jackstrong/p/5978321.html
内容总结
以上是互联网集市为您收集整理的java 程序,通过scanner 编写计算器全部内容,希望文章能够帮你解决java 程序,通过scanner 编写计算器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。