问答详情
源自:1-5 Java 中的异常抛出以及自定义异常

求大牛看看我这个代码应该怎么填写

package com.hei;

import java.util.*;

public class lianxi {

 public static void main(String[] args) {
  // 提醒用户输入计算方法
  Scanner input = new Scanner(System.in);
  System.out.println("请输入第一个数:");
  double a = input.nextDouble();
  System.out.println("请输入第二个数:");
  double b = input.nextDouble();
  while (true) {
   System.out.println("******************");
   System.out.println("1.输出两个数的和:");
   System.out.println("2.输出两个数的差:");
   System.out.println("3.输出两个数的乘积:");
   System.out.println("4.输出两个数的商:");
   System.out.println("5.重新输入数字");
   System.out.println("6.退出.");
   // 定义变量c保存用户选择的计算方法
  int c = input.nextInt();
   switch (c) {
   case 1:
    double x = a + b;
    System.out.println("两个数的和:" + x);
    break;
   case 2:
    double x1 = a - b;
    System.out.println("两个数的差:" + x1);
    break;
   case 3:
    double x2 = a * b;
    System.out.println("两个数的乘积:" + x2);
    break;
   case 4:
    double x3 = a / b;
    System.out.println("两个数的商:" + x3);
    break;
   case 5:
    
    break;
   case 6:
    break;
   default:
    System.out.println("请确保输入范围在1~5之间");
   }
  }

 }

}

我的想法是在switch中的 case 5返回前面再次要用户输入变量a和b,一开始我的想法是定义一个方法但是这样a和b是局部变量,我在main方法中调用不到,想问下如何实现case 5可以返回再次输入变量a和b

提问者:qq_Kindergarten_0 2018-05-27 22:05

个回答

  • qq_T_142
    2018-05-28 10:32:02
    已采纳

    既然你已经定义了值为true的循环,那可以将

    System.out.println("请输入第一个数:");
      double a = input.nextDouble();
      System.out.println("请输入第二个数:");
      double b = input.nextDouble();

    放到while循环里,每次用户计算完毕或者选择重新输入后都会跳转回输入数字栏

  • 学霸985
    2019-02-24 10:48:38

    public class Print{
        public static void main(String[] args) {
           Scanner input=new Scanner(System.in);
           for(int i = 0; i <4 ;) {
             System.out.print("请输入1或者2:");
             int a=input.nextInt();
             i++;
             if (a>2){
             System.out.println("您的输入有误,请重新输入!");
             }else{
               i++;
             }   
            }
        }
    }

    希望对你有帮助!!

  • qq_深巷_5
    2018-05-28 17:24:58

    import java.util.Scanner;
    
    public class Test {
        public static void main(String[] args) {
            math();//抽取方法
        }
        public static void math(){
            // 提醒用户输入计算方法
            Scanner input = new Scanner(System.in);
            System.out.println("请输入第一个数:");
            double a = input.nextDouble();
            System.out.println("请输入第二个数:");
            double b = input.nextDouble();
            while (true) {
                System.out.println("******************");
                System.out.println("1.输出两个数的和:");
                System.out.println("2.输出两个数的差:");
                System.out.println("3.输出两个数的乘积:");
                System.out.println("4.输出两个数的商:");
                System.out.println("5.重新输入数字");
                System.out.println("6.退出.");
                // 定义变量c保存用户选择的计算方法
                int c = input.nextInt();
                switch (c) {
                    case 1:
                        double x = a + b;
                        System.out.println("两个数的和:" + x);
                        break;
                    case 2:
                        double x1 = a - b;
                        System.out.println("两个数的差:" + x1);
                        break;
                    case 3:
                        double x2 = a * b;
                        System.out.println("两个数的乘积:" + x2);
                        break;
                    case 4:
                        double x3 = a / b;
                        System.out.println("两个数的商:" + x3);
                        break;
                    case 5:
                        math();//再次执行该方法
                        break;
                    case 6:
                        System.out.println("退出成功");
                        return;//完全停止
                    default:
                        System.out.println("请确保输入范围在1~5之间");
                }
            }
        }
    }

    希望对你有帮助

  • 情不知所起丶
    2018-05-28 16:56:51

    可以把main方法里边的代码 抽成一个方法,然后case5 就调这个方法

  • im李先森la
    2018-05-28 11:43:42

    你可以直接把整个main的代码写到  while(){代码}  里去,怎么样跳出随你自己写,这里我觉得你最好写一个方法,把这些代码放到方法里去,然后在main里调用方法,,不过是不是你还没学到这里,,哈哈