个人练习:

写一个计算器,要求实现加减乘除功能,并且能循环接收新的数据,通过用户交互实现(即Scanner对象)

用到了 while循环 switch语句,实现了数据的循环输入并计算!!!!妙啊!!!!

import java.util.Scanner;

public class Calculator{
public static void main(String[] args) {
//创建对象用来调用对象里的方法
Calculator calculator = new Calculator();
//调用computer方法
calculator.computer();
}
//第一步:加减乘除四个方法(因为要循环计算,每次传入一个数字,所以参数列表应该只有一个参数)
//加法
public static double add(double a){
System.out.println("请输入一个数:");
Scanner scanner3 = new Scanner(System.in);
double b = scanner3.nextDouble();
return a+b;
}
public static double subtract(double a){
System.out.println("请输入一个数:");
Scanner scanner3 = new Scanner(System.in);
double b = scanner3.nextDouble();
return a-b;
}
public static double multiply(double a){
System.out.println("请输入一个数:");
Scanner scanner3 = new Scanner(System.in);
double b = scanner3.nextDouble();
return a*b;
}
public static double divide(double a){
System.out.println("请输入一个数:");
Scanner scanner3 = new Scanner(System.in);
double b = scanner3.nextDouble();
return a/b;
} //第二步:完成循环输入数据的功能(while(true)+switch),必须创建一个方法完成这一步
public void computer(){
System.out.println("请输入一个数:");
Scanner scanner1 = new Scanner(System.in);
double a = scanner1.nextDouble(); while (true){
Scanner scanner2 = new Scanner(System.in);
System.out.println("你可以输入的操作有:加(+)减(-)乘(*)除(/)清零(小写的c)结束(小写的end)--->");
String str = scanner2.nextLine();
switch (str){
case "+":
a = add(a);
System.out.println("="+a);
break;
case "-":
a = subtract(a);
System.out.println("="+a);
break;
case "*":
a = multiply(a);
System.out.println("="+a);
break;
case "/":
if (a == 0){
System.out.println("除法分子不能为零,请重新输入:");
break;
}
a = divide(a);
System.out.println("="+a);
break;
case "c":
computer();
break;
case "end":
System.exit(-1);
break;
default:
System.out.println("输入的字符有误!");
}
}
} }

最新文章

  1. js赋值运算的理解
  2. Oracle补习班第三天
  3. Core Foundation框架
  4. kafka常用操作命令
  5. 20145305 《Java程序设计》第8周学习总结
  6. WCF服务中,[DataMember]属性标记的属性一定要有set访问器
  7. Mysql自增字段
  8. OI中神奇的神器fillchar
  9. CentOS7 列出服务和对应端口
  10. 常用的四种CSS样式表格
  11. 再探java基础——零碎基础知识整理
  12. java.nio分析软件包(三)---Charset理解力
  13. Sping4之注入参数
  14. Java JDK与JRE
  15. ubuntu 14.04 上配置vlc组播源
  16. C# 无法识别的属性“targetFramework”。请注意属性名称区分大小写。错误解决办法
  17. [转]bootstrap table本地数据使用方法
  18. VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
  19. “无后端”的web应用开发模式
  20. 【cocos2d-x 仙凡奇缘-网游研发(1) 登录&注册】

热门文章

  1. Spyder & Kite
  2. JavaScript Number Type Checker
  3. TypeScript Learning Paths
  4. empty Checker
  5. 手机 wifi 已连接,不可上网 bug
  6. Recycle 只显示一行BUG
  7. Kubernetes中分布式存储Rook-Ceph部署快速演练
  8. Static Proxy
  9. MySQL提权 通过UDF
  10. FutureTask源码分析(JDK7)