остановить случай переключения Java от ввода - PullRequest
0 голосов
/ 11 марта 2019

Привет, мой код компилируется нормально, но когда я его запускаю, мне сначала нужно ввести «отметку», а затем мне нужно ввести регистр. Как мне изменить код, чтобы мне ничего не нужно было вводить для дела?

Я знаю, что могу использовать цикл 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 голосов
/ 11 марта 2019

Вот строка, в которой ваша программа ожидает ввода choice:

choice = sc.nextInt();

Вам просто нужно удалить / прокомментировать.

Также обратите внимание, что choice условия расчета не охватывают диапазон m >= 50 && m <= 100.

0 голосов
/ 11 марта 2019

Удалите choice = sc.nextInt(); (в строке 12) из ​​своего кода и инициализируйте choice со значением '0' как int choice = 0; (в строке 7)

...