首页 > 学院 > 开发设计 > 正文

计算器

2019-11-07 23:56:15
字体:
来源:转载
供稿:网友
package com.cn.java;import java.util.Arrays;import java.util.List;import java.util.Scanner;public class Calculator { @SupPRessWarnings({ "resource", "rawtypes" }) public static void main(String[] args) { //定义string变量 String oneNumber = ""; String twoNumber = ""; String Operator = ""; boolean bresult = true; //创建Scanner的对象 System.in是标准输入 Scanner input = new Scanner(System.in); double one = 0; double two = 0; double result = 0; //用于程序循环执行 while (true) { //用户输入第一个数 System.out.println("输入第一个数:"); oneNumber = input.nextLine(); //判断输入的字符串是否超过16个字符 boolean isLength = getLength(oneNumber); if (!isLength) { continue; } else if (oneNumber.equals("exit")) { System.out.println("结束程序欢迎下次使用"); break; } //抛出string转换成double的异常信息 try { one = Double.parseDouble(oneNumber); } catch (Exception e) { System.out.println("请输入有效数字"); continue; } //提示用户输入运算符+ System.out.println("请输入运算符:"); operator = input.nextLine(); //对运算符进行判断是否有该运算符 String[] scores = {"+","-","*","/","%"}; List lists = Arrays.asList(scores); //while (true) { if (lists.contains(operator)) { //break; } else { System.out.println("运算符输入错误,请重新输入"); operator = input.nextLine(); continue; } //} //提示用户输入要计算的第二个数 System.out.println("输入第二个数:"); twoNumber = input.nextLine(); //抛出第二个数string转double类型的异常信息 try { two = Double.parseDouble(twoNumber); } catch (Exception e) { System.out.println("请输入有效数字"); continue; } //调用方法判断字符串长度是否超输出设置 boolean isTwoNumber = getLength(twoNumber); //if (getTwoNumber == false) { if (!isTwoNumber) { continue; } //switch循环实现运算 switch (operator) { case "+": result = one + two; break; case "-": result = one - two; break; case "*": result = one * two; break; case "/": result = one / two; //除数特殊,被除数不能为0,提示用户 if (two == 0) { System.out.println("被除数不能为0重新输入"); //为false不输出结果 bresult = false; } break; case "%": result = one % two; break; default: break; } //bresult为true输出计算结果 if (bresult) { System.out.println("结果是:" + result); } } } //判断字符串长度的方法 public static boolean getLength(String oneNumber) { int setlength = 16; if (oneNumber.length() > setlength) { System.out.println("输入错误,不能超过" + setlength + "位"); return false; } //System.out.println("abc"); return true; }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表