在开关如何使用逻辑运算符的情况下JAVA

问题描述:

我有一个问题,我不知道怎么把案例部分,当用户输入他们的成绩从0-100有输出对应于他们的成绩失败,好,verygood ,优秀。在开关如何使用逻辑运算符的情况下JAVA

import java.util.Scanner; 
public class ProgTestI { 


    public static void main (String args[]){ 

     Scanner pao = new Scanner(System.in); 
     System.out.print("Grades: "); 
     String grades = pao.next(); 
     int grado = Integer.parseInt(grades); 

     switch (grado){ 

     case =<74: /* iwant to put 0 to 74*/ 

      System.out.println("Failed"); 



     case : /* 75-80*/ 

      System.out.println("bellow average"); 


     case : /*81-85*/ 

      System.out.println("average"); 

     case : /*86-90*/ 

      System.out.println("Good"); 

     case : /*91-96*/ 

      System.out.println("VeryGood"); 

     default: 







     } 




    } 

} 
+3

你不能'之开关的范围,所以无论是'如果-else'或'Map'或类似的。 – Smutje 2014-11-25 08:24:39

+1

对不起,你不能这样做。 'switch'只适用于具体的值。 – 2014-11-25 08:25:33

+0

可能的重复[在Java中,在每种情况下使用switch语句的值范围?](http://*.com/questions/10873590/in-java-using-switch-statement-with-a-range-每种情况下的值) – Jens 2014-11-25 08:25:37

您不能使用开关范围,您需要用适当的if/else块代替这段代码。 交换机只适用于数值,但它的工作原理是

if(numericVal == 40) 

所以写它的范围是...的代码浪费,无法读取。

你需要重写一遍:

if(g <= 74){ 
... 
}else if(g > 74 && g <= 80){ 
... 
+0

链接和教程:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html – Beri 2014-11-25 08:28:23

+1

你实际上不需要再次检查g> 74 ,因为之前的测试g RemyG 2014-11-25 08:33:35

+0

哇,这是很快谢谢! – tinker101 2014-11-25 08:35:47

你的情况下,代码不正确,你可以做脚气提及。

如果你想实现你的应用程序switch语句,那么你可以做如下:

public static void main(String[] args) { 
    Scanner pao = new Scanner(System.in); 
    System.out.print("Grades: "); 
    String grades = pao.next(); 
    int grado = Integer.parseInt(grades); 
    int checkedCase=0; 
    if(grado<=74){ 
     checkedCase=1; 
    } 
    else if(grado>=75&&grado<=80){ 
     checkedCase=2; 
    } 
    else if(grado>=81&&grado<=85){ 
     checkedCase=3; 
    } 
    else if(grado>=86&&grado<=90){ 
     checkedCase=4; 
    } 
    else if(grado>=91&&grado<=96){ 
     checkedCase=5; 
    } 

    switch (checkedCase){ 

    case 1: /* iwant to put 0 to 74*/ 

     System.out.println("Failed"); 
     break; 


    case 2: /* 75-80*/ 

     System.out.println("bellow average"); 
     break; 

    case 3: /*81-85*/ 

     System.out.println("average"); 
     break; 
    case 4: /*86-90*/ 

     System.out.println("Good"); 
     break; 
    case 5: /*91-96*/ 

     System.out.println("VeryGood"); 
      break; 

    default: System.out.println("Please enter a value in range 0-96"); 
     break; 
    } 

}