赞
踩
//制作一个简易计算器,基于switch和用户交互实现;升级版是通过写出四个方法函数实现加减乘除,同时用循环和switch进行用户交互 public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//构造Scanner类的对象scanner,接收从控制台输入的信息 System.out.println("输入第一个数字: "); double a = scanner.nextInt();//接收第一个数字 System.out.println("输入第二个数字: "); double b = scanner.nextInt();//接收第二个数字 System.out.println("选择+ - * /中的一种计算方式: "); String str = scanner.next();//接收选择的计算方式 switch (str) { case "+": System.out.println(a + b);//输出加法结果 break; case "-": System.out.println(a - b);//输出减法结果 break; case "*": System.out.println(a * b);//输出乘法结果 break; case "/": System.out.println(a / b);//输出除法结果 break; } scanner.close();//属于IO流的类如果不关闭会一直占用资源,养成习惯关闭 } }
public class Test1 { public static void main(String[] args) { while (true) { System.out.println("输入计算类型(+,-,*,/),输入quit退出"); Scanner calculate = new Scanner(System.in);//构造Scanner类的对象calculate,接收从控制台输入的信息 String cal = calculate.nextLine();//接收该对象的内容,赋值给cal,可以加除Enter以为的所有符号,包括空格和Tab if(cal.equals("quit")){ System.out.println("已退出计算器"); break; }else { switch (cal) { case "+": System.out.println("输入要进行计算的两个数:");//println相当于print("\n"),即println每输出一行即换行 Scanner add1 = new Scanner(System.in);//构造Scanner类的对象addScanner1,接收从控制台输入的信息 double addNum1 = add1.nextInt();//接收该对象的内容,赋值给addNum1,可以加除Enter以为的所有符号,包括空格和Tab Scanner add2 = new Scanner(System.in); double addNum2 = add2.nextInt(); double addResult = add(addNum1, addNum2);//得出两数之和 System.out.println(addNum1 + "+" + addNum2 + "=" + addResult); break; case "-": System.out.println("输入要进行计算的两个数(注意顺序,回车分割):"); Scanner minusScanner1 = new Scanner(System.in); double minusNum1 = minusScanner1.nextInt(); Scanner minusScanner2 = new Scanner(System.in); double minusNum2 = minusScanner2.nextInt(); double minusResult = minus(minusNum1, minusNum2); System.out.println(minusNum1 + "-" + minusNum2 + "=" + minusResult); break; case "*": System.out.println("输入要进行计算的两个数(注意顺序,回车分割):"); Scanner mutiplyScanner1 = new Scanner(System.in); double mutiplyNum1 = mutiplyScanner1.nextInt(); Scanner mutiplyScanner2 = new Scanner(System.in); double mutiplyNum2 = mutiplyScanner2.nextInt(); double mutiplyResult = multiply(mutiplyNum1, mutiplyNum2); System.out.println(mutiplyNum1 + "*" + mutiplyNum2 + "=" + mutiplyResult); break; case "/": System.out.println("输入要进行计算的两个数(注意顺序,回车分割):"); Scanner divideScanner1 = new Scanner(System.in); double divideNum1 = divideScanner1.nextInt(); Scanner divideScanner2 = new Scanner(System.in); double divideNum2 = divideScanner2.nextInt(); double divideResult = divide(divideNum1, divideNum2); System.out.println(divideNum1 + "/" + divideNum2 + "=" + divideResult); break; } } } } public static double add(double a,double b ){//构造一个double的 add方法, return a+b; } public static double minus(double a,double b ){ return a-b; } public static double multiply(double a,double b ){ return a*b; } public static double divide(double a,double b ){ return a/b; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。