编写简单的计算器
思路
1.先写四个方法对应加减乘除
2.用scanner来收集用户数据
3.用switch进行匹配
4.输出结果
import java.util.Scanner;
public class Demo11 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数:");
double a = scanner.nextDouble();
System.out.println("请输入符号:");
String s = scanner.next();
System.out.println("请输入第二个数:");
double b = scanner.nextDouble();
switch (s){
case "+":
System.out.println(add(a,b));
break;
case "-":
System.out.println(subtract(a,b));
break;
case "*":
System.out.println(multiply(a,b));
break;
case "/":
System.out.println(divide(a,b));
break;
}
scanner.close();
}
public static double add(double a, double b) {
return a + b;
}
public static double subtract(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) {
if (b == 0) {
System.out.println("算数不合法");
}
return a / b;
}
}
问题
1.在输出nextdouble,nextline,nextdouble时,nextline的数值会被直接跳过
而使用next则正常运行
具体原因参考
2.在设计程序时要考虑程序合法性
在做除法时,应当注意:除以0应该时不合法的。
参考
参考他人代码
package test;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
while (true){
System.out.println("输入用空格隔开,如:(6 + 9):");
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
String s = sc.next();
double b = sc.nextDouble();
double result = 0;
switch (s){
case "+":
result = add(a,b);
break;
case "-":
result = subtract(a,b);
break;
case "*":
result = multiply(a,b);
break;
case "/":
result = divide(a,b);
break;
default:
System.out.println("输入错误");
break;
}
System.out.println("输出的结果是:"+a+s+b+"="+result);
}
}
public static double add(double x,double y){
return x+y ;
}
public static double subtract(double x,double y){
return x-y;
}
public static double multiply(double x,double y){
return x*y;
}
public static double divide(double x,double y){
if (y==0)
System.out.println("除数不能为0!");
return x/y;
}
}
1.利用while做了个循环。能够一直计算。
2.可以一次输入数字+符号(中间加空格),来直接表示算式。我的则只能一个一个输入。
结论
没啥结论,多做题,多参考。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下