停止Java切换案例要求输入

时间:2019-03-11 09:35:03

标签: java switch-statement

嗨,我的代码可以很好地编译,但是当我运行它时,我必须先输入“ mark”,然后才需要输入大小写。我该如何更改代码,这样我就不需要输入任何内容了?

我知道我可以使用while循环,如果可以,可以使用switch循环。

  import java.util.*;                                                             
  public class GradeCalcCASE {                                                                               
       public static void main(String[] args) {                                                                                   
       Scanner sc = new Scanner(System.in);                                        
       int choice;                                                                 
       double m;                                                                   
       //Sets ^^^ m as the mark that the user inputs                               
       System.out.println("Please enter the mark");                                
       m = sc.nextDouble();                                                        
       choice = sc.nextInt();                                                      
       if(m<0) {choice = 1;}                                                   

       else if(m>100) {choice = 2;}                                            

       else if(0<=m && m<50) {choice = 3;}                                     
    switch(choice) {                                                   
      case 1:                                                                     
      System.out.println("Invalid mark");                                         
      break;                                                                      

      case 2:                                                                     
      System.out.println("Invalid mark");                                         
      break;                                                                      

      case 3:                                                                     
      System.out.println("F");                                                    
      break;                                                                      

      }                                                                           
    }                                                                           
  }  

2 个答案:

答案 0 :(得分:0)

从代码中删除choice = sc.nextInt();(在第12行),并将值'0'的choice初始化为int choice = 0;(在第7行)

答案 1 :(得分:0)

这是您的程序等待choice输入的行:

choice = sc.nextInt();

您只需要删除/评论它即可。

还请注意,choice的计算条件不覆盖范围m >= 50 && m <= 100