A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈宁 于 2014-12-10 15:44 编辑

老师,有空请验收一下。

计算器.zip

52.76 KB, 阅读权限: 150, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
陈宁 发表于 2014-12-10 15:32
老师,有空请验收一下。

赞一个:
  1. package day16;

  2. import java.util.Scanner;

  3. public class Count{
  4.         public static void main(String[] args) {
  5.                 Scanner scan=new Scanner(System.in);
  6.                 int select1=-1;
  7.                 double result=0;
  8.                
  9.             while(true){
  10.                         System.out.println("请输入一个数:");
  11.                         double input=scan.nextDouble();
  12.                        
  13.                         int select=select1;
  14.                                        
  15.                         System.out.println("请选择操作:1加   2减   3乘   4除  0计算结果");
  16.                         select1=scan.nextInt();
  17.                                        
  18.                         if(select==1)
  19.                                 result+=input;
  20.                         else if(select==2)
  21.                                 result-=input;
  22.                         else if(select==3)
  23.                                 result*=input;
  24.                         else if(select==4)
  25.                                 result/=input;
  26.                         else{
  27.                                 result=input;
  28.                         }
  29.                         if(select1==0){
  30.                                 System.out.println("结果为:"+result);
  31.                                 System.out.println("请问是否还要继续玩?是输入“Y”,否输入“N”");
  32.                                 String s=scan.next().toUpperCase();
  33.                                 if(s.equals("N")){
  34.                                         System.out.println("欢迎下次来玩!!!");
  35.                                         scan.close();
  36.                                         break;
  37.                                 }       
  38.                    }
  39.             }
  40.         }
  41. }
复制代码
回复 使用道具 举报
原来题目的答案呢
回复 使用道具 举报
顶贴,领题
回复 使用道具 举报
做出来了,考虑到输入错误要跳回,用了不少循环

Test21.zip

1.19 KB, 下载次数: 22

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
貌似我来晚了。。。。。。。
回复 使用道具 举报
598037136 发表于 2014-12-13 17:08
做出来了,考虑到输入错误要跳回,用了不少循环

赞一个:
  1. import java.util.*;
  2. /*
  3. * 要求:用Java代码实现一个简单的计算器(实现加减乘除功能),
  4. * 操作过程如下:用户在控制台中输入第一个数,
  5. * 然后系统自动提示用户选择操作(加、减、乘、除、计算)项,
  6. * 然后让用户输入第二个数字,然后系统自动提示用户选择操作项....以此类推。
  7. * 等一个计算完成后提示用户是退出还是继续使用。
  8. * */
  9. public class Test21 {

  10.         static Scanner s=new Scanner(System.in);
  11.         static ArrayList<Double> al=new ArrayList<Double>();
  12.         static int count;
  13.         static double num1;
  14.         public static void print(Object obj)
  15.         {
  16.                 System.out.println(obj);
  17.         }
  18.         public static void main(String[]args)
  19.         {
  20.                 intalize();
  21.                 for(;;)
  22.                 {
  23.                         print("请输入一个数字");
  24.                         try
  25.                         {
  26.                                 String input=s.nextLine();
  27.                                 num1=Double.parseDouble(input);
  28.                         }
  29.                         catch(NumberFormatException e)
  30.                         {
  31.                                 print("数字格式错误");
  32.                                 continue;
  33.                         }
  34.                         al.add(num1);
  35.                         firstSelect(num1);
  36.                         secondSelect();
  37.                 }
  38.         }
  39.         public static void intalize()
  40.         {
  41.                 al.clear();
  42.                 count=0;
  43.                 num1=0;
  44.         }
  45.         public static void firstSelect(double num1)
  46.         {
  47.                 for(;;)
  48.                 {
  49.                         print("请选择加(a)减(s)乘(p)除(d)");
  50.                         String input=s.nextLine();
  51.                         switch(input)
  52.                         {
  53.                                 case("a"):
  54.                                 {
  55.                                         for(;;)
  56.                                         {
  57.                                                 print("加法,请输入第二个数");
  58.                                                 try
  59.                                                 {
  60.                                                         String input1=s.nextLine();
  61.                                                         double num2=Double.parseDouble(input1);
  62.                                                         al.add(num2);
  63.                                                         num1=num2;
  64.                                                         count++;
  65.                                                 }
  66.                                                 catch(NumberFormatException e)
  67.                                                 {
  68.                                                         print("数字格式错误");
  69.                                                         continue;
  70.                                                 }
  71.                                                 break;
  72.                                         }
  73.                                         break;
  74.                                 }
  75.                                 case("s"):
  76.                                 {
  77.                                         for(;;)
  78.                                         {
  79.                                                 print("减法,请输入第二个数");
  80.                                                 try
  81.                                                 {
  82.                                                         String input1=s.nextLine();
  83.                                                         double num2=-(Double.parseDouble(input1));
  84.                                                         al.add(num2);
  85.                                                         num1=num2;
  86.                                                         count++;
  87.                                                 }
  88.                                                 catch(NumberFormatException e)
  89.                                                 {
  90.                                                         print("数字格式错误");
  91.                                                         continue;
  92.                                                 }
  93.                                                 break;
  94.                                         }
  95.                                         break;
  96.                                 }
  97.                                 case("p"):
  98.                                 {
  99.                                         for(;;)
  100.                                         {
  101.                                                 print("乘法,请输入第二个数");
  102.                                                 try
  103.                                                 {
  104.                                                         String input1=s.nextLine();
  105.                                                         double num2=Double.parseDouble(input1);
  106.                                                         double num3=num1*num2;
  107.                                                         al.set(count, num3);
  108.                                                         num1=num3;       
  109.                                                 }
  110.                                                 catch(NumberFormatException e)
  111.                                                 {
  112.                                                         print("数字格式错误");
  113.                                                         continue;
  114.                                                 }

  115.                                                 break;       
  116.                                         }
  117.                                         break;
  118.                                 }
  119.                                 case("d"):
  120.                                 {
  121.                                         for(;;)
  122.                                         {
  123.                                                 print("除法,请输入第二个数");
  124.                                                 try
  125.                                                 {
  126.                                                         String input1=s.nextLine();
  127.                                                         double num2=Double.parseDouble(input1);
  128.                                                         double num3=num1/num2;
  129.                                                         al.set(count, num3);
  130.                                                         num1=num3;       
  131.                                                 }
  132.                                                 catch(NumberFormatException e)
  133.                                                 {
  134.                                                         print("数字格式错误");
  135.                                                         continue;
  136.                                                 }
  137.                                                 break;       
  138.                                         }
  139.                                         break;
  140.                                 }
  141.                                 default:
  142.                                 {
  143.                                         print("选择错误,请重新选择");
  144.                                         continue;
  145.                                 }
  146.                         }
  147.                         break;
  148.                 }
  149.         }
  150.         public static void secondSelect()
  151.         {
  152.                 for(;;)
  153.                 {               
  154.                         print("请选择求和(g)还是继续(c)");
  155.                         String input=s.nextLine();
  156.                         if(input.equals("g"))
  157.                         {
  158.                                 getSum();
  159.                                 thirdSelect();
  160.                                 return;
  161.                         }
  162.                         else if(input.equals("c"))
  163.                                 return;
  164.                         else
  165.                                 print("非法选择");
  166.                         continue;
  167.                 }
  168.         }
  169.         public static void thirdSelect()
  170.         {
  171.                 for(;;)
  172.                 {
  173.                         print("继续(c)还是退出(e)?");
  174.                         String input=s.nextLine();
  175.                         if(input.equals("e"))
  176.                         {
  177.                                 print("欢迎再次使用");
  178.                                 s.close();
  179.                                 System.exit(0);
  180.                         }
  181.                         else if(input.equals("c"))
  182.                         {
  183.                                 intalize();
  184.                                 return;
  185.                         }
  186.                         else
  187.                         {
  188.                                 print("非法输入");
  189.                                 continue;       
  190.                         }       
  191.                 }
  192.         }
  193.         public static void getSum()
  194.         {
  195.                 double sum=0;
  196.                 for(double d:al)
  197.                         sum+=d;
  198.                 print("结果:"+sum);
  199.         }
  200. }
复制代码
回复 使用道具 举报
598037136 发表于 2014-12-13 17:08
做出来了,考虑到输入错误要跳回,用了不少循环

赞一个:
  1. import java.util.*;
  2. /*
  3. * 要求:用Java代码实现一个简单的计算器(实现加减乘除功能),
  4. * 操作过程如下:用户在控制台中输入第一个数,
  5. * 然后系统自动提示用户选择操作(加、减、乘、除、计算)项,
  6. * 然后让用户输入第二个数字,然后系统自动提示用户选择操作项....以此类推。
  7. * 等一个计算完成后提示用户是退出还是继续使用。
  8. * */
  9. public class Test21 {

  10.         static Scanner s=new Scanner(System.in);
  11.         static ArrayList<Double> al=new ArrayList<Double>();
  12.         static int count;
  13.         static double num1;
  14.         public static void print(Object obj)
  15.         {
  16.                 System.out.println(obj);
  17.         }
  18.         public static void main(String[]args)
  19.         {
  20.                 intalize();
  21.                 for(;;)
  22.                 {
  23.                         print("请输入一个数字");
  24.                         try
  25.                         {
  26.                                 String input=s.nextLine();
  27.                                 num1=Double.parseDouble(input);
  28.                         }
  29.                         catch(NumberFormatException e)
  30.                         {
  31.                                 print("数字格式错误");
  32.                                 continue;
  33.                         }
  34.                         al.add(num1);
  35.                         firstSelect(num1);
  36.                         secondSelect();
  37.                 }
  38.         }
  39.         public static void intalize()
  40.         {
  41.                 al.clear();
  42.                 count=0;
  43.                 num1=0;
  44.         }
  45.         public static void firstSelect(double num1)
  46.         {
  47.                 for(;;)
  48.                 {
  49.                         print("请选择加(a)减(s)乘(p)除(d)");
  50.                         String input=s.nextLine();
  51.                         switch(input)
  52.                         {
  53.                                 case("a"):
  54.                                 {
  55.                                         for(;;)
  56.                                         {
  57.                                                 print("加法,请输入第二个数");
  58.                                                 try
  59.                                                 {
  60.                                                         String input1=s.nextLine();
  61.                                                         double num2=Double.parseDouble(input1);
  62.                                                         al.add(num2);
  63.                                                         num1=num2;
  64.                                                         count++;
  65.                                                 }
  66.                                                 catch(NumberFormatException e)
  67.                                                 {
  68.                                                         print("数字格式错误");
  69.                                                         continue;
  70.                                                 }
  71.                                                 break;
  72.                                         }
  73.                                         break;
  74.                                 }
  75.                                 case("s"):
  76.                                 {
  77.                                         for(;;)
  78.                                         {
  79.                                                 print("减法,请输入第二个数");
  80.                                                 try
  81.                                                 {
  82.                                                         String input1=s.nextLine();
  83.                                                         double num2=-(Double.parseDouble(input1));
  84.                                                         al.add(num2);
  85.                                                         num1=num2;
  86.                                                         count++;
  87.                                                 }
  88.                                                 catch(NumberFormatException e)
  89.                                                 {
  90.                                                         print("数字格式错误");
  91.                                                         continue;
  92.                                                 }
  93.                                                 break;
  94.                                         }
  95.                                         break;
  96.                                 }
  97.                                 case("p"):
  98.                                 {
  99.                                         for(;;)
  100.                                         {
  101.                                                 print("乘法,请输入第二个数");
  102.                                                 try
  103.                                                 {
  104.                                                         String input1=s.nextLine();
  105.                                                         double num2=Double.parseDouble(input1);
  106.                                                         double num3=num1*num2;
  107.                                                         al.set(count, num3);
  108.                                                         num1=num3;       
  109.                                                 }
  110.                                                 catch(NumberFormatException e)
  111.                                                 {
  112.                                                         print("数字格式错误");
  113.                                                         continue;
  114.                                                 }

  115.                                                 break;       
  116.                                         }
  117.                                         break;
  118.                                 }
  119.                                 case("d"):
  120.                                 {
  121.                                         for(;;)
  122.                                         {
  123.                                                 print("除法,请输入第二个数");
  124.                                                 try
  125.                                                 {
  126.                                                         String input1=s.nextLine();
  127.                                                         double num2=Double.parseDouble(input1);
  128.                                                         double num3=num1/num2;
  129.                                                         al.set(count, num3);
  130.                                                         num1=num3;       
  131.                                                 }
  132.                                                 catch(NumberFormatException e)
  133.                                                 {
  134.                                                         print("数字格式错误");
  135.                                                         continue;
  136.                                                 }
  137.                                                 break;       
  138.                                         }
  139.                                         break;
  140.                                 }
  141.                                 default:
  142.                                 {
  143.                                         print("选择错误,请重新选择");
  144.                                         continue;
  145.                                 }
  146.                         }
  147.                         break;
  148.                 }
  149.         }
  150.         public static void secondSelect()
  151.         {
  152.                 for(;;)
  153.                 {               
  154.                         print("请选择求和(g)还是继续(c)");
  155.                         String input=s.nextLine();
  156.                         if(input.equals("g"))
  157.                         {
  158.                                 getSum();
  159.                                 thirdSelect();
  160.                                 return;
  161.                         }
  162.                         else if(input.equals("c"))
  163.                                 return;
  164.                         else
  165.                                 print("非法选择");
  166.                         continue;
  167.                 }
  168.         }
  169.         public static void thirdSelect()
  170.         {
  171.                 for(;;)
  172.                 {
  173.                         print("继续(c)还是退出(e)?");
  174.                         String input=s.nextLine();
  175.                         if(input.equals("e"))
  176.                         {
  177.                                 print("欢迎再次使用");
  178.                                 s.close();
  179.                                 System.exit(0);
  180.                         }
  181.                         else if(input.equals("c"))
  182.                         {
  183.                                 intalize();
  184.                                 return;
  185.                         }
  186.                         else
  187.                         {
  188.                                 print("非法输入");
  189.                                 continue;       
  190.                         }       
  191.                 }
  192.         }
  193.         public static void getSum()
  194.         {
  195.                 double sum=0;
  196.                 for(double d:al)
  197.                         sum+=d;
  198.                 print("结果:"+sum);
  199.         }
  200. }
复制代码
回复 使用道具 举报
急需黑马币
回复 使用道具 举报
看看题  找找感觉啊 嘿嘿
回复 使用道具 举报
领题,看看···
回复 使用道具 举报
哈哈 来领币
回复 使用道具 举报
老师,送点黑马币给我吧,现在就差技术分了 ,哎 ,入学考试差啊
回复 使用道具 举报
佛说 发表于 2014-12-18 17:46
老师,送点黑马币给我吧,现在就差技术分了 ,哎 ,入学考试差啊

不要急慢慢来。
回复 使用道具 举报
领题来了
回复 使用道具 举报
回帖领题
回复 使用道具 举报
回帖领题
回复 使用道具 举报
领题!!
回复 使用道具 举报
先看看
0.0
回复 使用道具 举报
回帖领题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马