个人练习:

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

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

  1. import java.util.Scanner;
  2. public class Calculator{
  3. public static void main(String[] args) {
  4. //创建对象用来调用对象里的方法
  5. Calculator calculator = new Calculator();
  6. //调用computer方法
  7. calculator.computer();
  8. }
  9. //第一步:加减乘除四个方法(因为要循环计算,每次传入一个数字,所以参数列表应该只有一个参数)
  10. //加法
  11. public static double add(double a){
  12. System.out.println("请输入一个数:");
  13. Scanner scanner3 = new Scanner(System.in);
  14. double b = scanner3.nextDouble();
  15. return a+b;
  16. }
  17. public static double subtract(double a){
  18. System.out.println("请输入一个数:");
  19. Scanner scanner3 = new Scanner(System.in);
  20. double b = scanner3.nextDouble();
  21. return a-b;
  22. }
  23. public static double multiply(double a){
  24. System.out.println("请输入一个数:");
  25. Scanner scanner3 = new Scanner(System.in);
  26. double b = scanner3.nextDouble();
  27. return a*b;
  28. }
  29. public static double divide(double a){
  30. System.out.println("请输入一个数:");
  31. Scanner scanner3 = new Scanner(System.in);
  32. double b = scanner3.nextDouble();
  33. return a/b;
  34. }
  35. //第二步:完成循环输入数据的功能(while(true)+switch),必须创建一个方法完成这一步
  36. public void computer(){
  37. System.out.println("请输入一个数:");
  38. Scanner scanner1 = new Scanner(System.in);
  39. double a = scanner1.nextDouble();
  40. while (true){
  41. Scanner scanner2 = new Scanner(System.in);
  42. System.out.println("你可以输入的操作有:加(+)减(-)乘(*)除(/)清零(小写的c)结束(小写的end)--->");
  43. String str = scanner2.nextLine();
  44. switch (str){
  45. case "+":
  46. a = add(a);
  47. System.out.println("="+a);
  48. break;
  49. case "-":
  50. a = subtract(a);
  51. System.out.println("="+a);
  52. break;
  53. case "*":
  54. a = multiply(a);
  55. System.out.println("="+a);
  56. break;
  57. case "/":
  58. if (a == 0){
  59. System.out.println("除法分子不能为零,请重新输入:");
  60. break;
  61. }
  62. a = divide(a);
  63. System.out.println("="+a);
  64. break;
  65. case "c":
  66. computer();
  67. break;
  68. case "end":
  69. System.exit(-1);
  70. break;
  71. default:
  72. System.out.println("输入的字符有误!");
  73. }
  74. }
  75. }
  76. }

简易计算器实现:while循环+switch语句的更多相关文章

  1. Go-函数高级使用-条件分支-包管理-for循环-switch语句-数组及切片-与或非逻辑符

    目录 科普 python 注释 # 函数高级 if else if else 包管理 下载第三方包 比较热门的框架 for 循环 for 循环的几种写法 switch 语句 数组及数组切片 数组迭代 ...

  2. 包、mode模式、if-else语句、switch语句

    目录 包 mode模式 if-else语句 循环 switch语句 包 //1 在同一个包下(文件夹下),包名必须一致 //2 以后,包名就是文件夹的名字 //3 同一个包下,同名函数只能有一个(in ...

  3. Java通过循环结构和switch实现简易计算器

    Java通过循环结构和switch实现简易计算器 可以循环计算,通过调用函数本身来实现重新计算 package com.shenxiaoyu.method; import java.util.Scan ...

  4. JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框

    If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...

  5. switch语句和for循环

    switch语句: 1. switch 后面小括号中表达式的值必须是整型或字符型 2. case后面的值可以是常量数值,如:1.日:也可以是一个常量表达式,如:2+2:但 不能是变量或带有变量的表达式 ...

  6. 永久性for循环配合switch语句可以实现菜单功能

    永久性for循环配合switch语句可以实现菜单功能总结:加入想要无条件地跳转到某条语句执行,用goto语句: 加入想要对某种条件进行判断,为真或为假分别执行不同的语句,用if语句 加入想要检测的条件 ...

  7. 第二部分 条件控制执行语句、循环语句、switch语句、跳转语句和其它语句

    条件控制执行语句: if语句 if....else....语句 循环语句: while语句 do....while语句 for语句 switch语句: 跳转语句: break; continue; r ...

  8. switch语句以及三种循环语句的总结

    1:switch语句(1)格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;} 格式解释说明: ...

  9. go语言之if语句和switch语句和循环语句

    1.if语句 package main import ( "fmt" "io/ioutil" ) func main() { //流程控制 //使用常量定义一个 ...

随机推荐

  1. free ebooks all in one

    free ebooks all in one pdf / ppt mobi / epub free programming ebooks free IT ebooks open free ebooks ...

  2. TypeScript & React & Jest

    TypeScript & React & Jest create-react-app Jest ``tsx import React from 'react'; import { re ...

  3. base 64 & blob & image url

    base 64 & blob & image url base 64 image & e.clipboardData.items[1] https://codepen.io/x ...

  4. classnames & React & taro

    classnames & React & taro classnames https://www.npmjs.com/package/classnames demo https://g ...

  5. 人物传记:Mila Fletcher:如何勤于思考抓住关键?

    Mila Fletcher于2007年毕业于耶鲁大学,她是一名真正意义上的法学博士,在校期间获得了马歇尔奖学金,毕业后曾在美国多家知名律师事务所任职,目前就职于星盟全球投资公司,专注于帮助公司和客户提 ...

  6. 【Android初级】如何实现一个有动画效果的自定义下拉菜单

    我们在购物APP里面设置收货地址时,都会有让我们选择省份及城市的下拉菜单项.今天我将使用Android原生的 Spinner 控件来实现一个自定义的下拉菜单功能,并配上一个透明渐变动画效果. 要实现的 ...

  7. 顶级c程序员之路 选学篇-1 深入理解字节,字节序与字节对齐

     深入理解字节,字节序与字节对齐 一 总述 作为一个职业的coder玩家,首先应该对计算机的字节有所了解. 我们经常谈到的2进制流,字节(字符)流,数据类型流(针对编程),结构流等说法,2进制流,0和 ...

  8. 探索 .NET Core 依赖注入的 IServiceProvider

    在上一篇文章中,我们学习了Microsoft.Extensions.DependencyInjection中的IServiceCollection,包括服务注册转换为ServiceDescriptor ...

  9. 看动画轻松学会 Raft 算法

    由于 Paxos 算法过于晦涩难懂且难以实现,Diego Ongaro 提出了一种更易于理解和实现并能等价于 Paxos 算法的共识算法 - Raft 算法. 因为 Raft 算法清晰易懂越来越多的开 ...

  10. webpack + vuecli多页面打包基于(vue-template-admin)修改

    转: webpack + vuecli多页面打包基于(vue-template-admin)修改 遇见的问题TypeError: Cannot read property 'tap' of undef ...