-
写一个计算器,要求实现加减乘除的功能,并能够循环接收新的数据,通过用户交互实现。
- 思路推荐:
- 写四个方法:加减乘除
- 利用循环+switch进行用户交互
- 传递需要操作的两个数
- 输出结果
实操分析:
-
写出加减乘除的方法:
-
写出用户交互框架
//定义第一个数的接收器 Scanner scanner = new Scanner(System.in); System.out.println("请输入第一个数a"); double str = scanner.nextDouble(); scanner.close();
-
写出switch方法
//定义操作方法 System.out.println("请选择运算方法:"); String op = scanner.next(); //switch循环 switch(op){ case "+": add(num1,num2); System.out.println("两个数的和为:"+add(num1,num2)); break; case "-": sub(num1,num2); System.out.println("两个数的差为:"+sub(num1,num2)); break; case "*": sub(num1,num2); System.out.println("两个数的乘积为:"+mul(num1,num2)); break; case "/": if(num2 == 0){ System.out.println("分母不能为0!!!"); }else { div(num1,num2); } System.out.println("两个数的差为:"+sub(num1,num2)); break; default: System.out.println("输入错误!!!"); }
-
嵌套循环语句
//定义字符串,作为while初始执行条件 String isNext = "y"; while (isNext.equals("y")){ System.out.println("是否继续?,如果是输入y,否则输入任意字符退出"); isNext=scanner.next();//终止条件 }
-
输出结果
请输入第一个数a 10 请选择运算方法: + 请输入第二个数b 3 两个数的和为:13.0 是否继续?,如果是输入y,否则输入任意字符退出
代码示例:
- 思路推荐:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//定义字符串,作为while初始执行条件
String isNext = "y";
while (isNext.equals("y")){
//定义第一个数据的接收器
System.out.println("请输入第一个数a");
double num1 = scanner.nextDouble();
//定义操作方法
System.out.println("请选择运算方法:");
String op = scanner.next();
//第二个数据的接收器
System.out.println("请输入第二个数b");
double num2 = scanner.nextDouble();
//switch循环
switch(op){
case "+":
add(num1,num2);
System.out.println("两个数的和为:"+add(num1,num2));
break;
case "-":
sub(num1,num2);
System.out.println("两个数的差为:"+sub(num1,num2));
break;
case "*":
sub(num1,num2);
System.out.println("两个数的乘积为:"+mul(num1,num2));
break;
case "/":
if(num2 == 0){
System.out.println("分母不能为0!!!");
}else {
div(num1,num2);
}
System.out.println("两个数的差为:"+sub(num1,num2));
break;
default:
System.out.println("输入错误!!!");
}
System.out.println("是否继续?,如果是输入y,否则输入任意字符退出");
isNext=scanner.next();//终止条件
}
scanner.close();
}
//加减乘除方法
//加法
public static double add(double a,double b){
return a+b;
}
//减法
public static double sub(double a,double b){
return a-b;
}
//乘法
public static double mul(double a,double b){
return a*b;
}
//除法
public static double div(double a,double b){
return a/b;
}