当前位置: 首页 > 知识库问答 >
问题:

在大小写标签中使用布尔表达式的Switch语句[重复]

仲孙德惠
2023-03-14

我正在学习java,在switch case语句和表达式方面遇到了问题。谁能帮帮我吗?我无法理解我在哪里犯了错误。

package SecondSet_StartingArray;

import java.util.Scanner;

public class Testing 
{
    public static void main(String[] args) {

    System.out.println("Enter a Number between 1 & 100");
    Scanner scan = new Scanner(System.in);
    int i = scan.nextInt();
    switch (i)
    {
        case (i>90):    System.out.println("Rating 5");break;
        case (i<=90):   System.out.println("Rating 4");break;
        case (i<=60):   System.out.println("Rating 3");break;
        case(i<=30):    System.out.println("Rating 2");break;
        case(i>29):     System.out.println("Rating 1");break;
    }
}

}

共有3个答案

白子明
2023-03-14

正如您在Java语言规范中看到的:

以下所有条件都必须为true,否则会发生编译时错误:

  1. 每个

在您的代码中,第一点没有得到满足。您可能希望在此处使用if-else-if语句而不是开关来正确检查存储在i中的值。

澹台冯浩
2023-03-14

您试图实现的是一个if-else语句<代码>开关语句用于计算常量值。

茅炯
2023-03-14

不能将switch case与布尔表达式一起使用,例如

case 90: whatever; break;
case 120: whatever; break;
case SOME_CONSTANT: whatever; break;

为了满足您的需要,您需要使用if-else-if语句。

 类似资料:
  • 问题内容: 我正在尝试创建一个switch语句,但似乎无法使用被求值的表达式(而不是设置的字符串/整数)。我可以轻松地使用if语句来执行此操作,但希望大小写应该更快。 我正在尝试以下 我缺少明显的东西吗?Google在这种情况下并不友好。 任何帮助/指针表示赞赏 问题答案: 你总是可以做 它之所以有效是因为它是一个常量,因此将执行第一个case语句下带有计算结果为true的表达式的代码。 我猜这有

  • 问题内容: 为什么会出现这种错误?如果我愿意,一切都会正常。 问题答案: 可能尚未初始化,可以分配多个值。在您的示例中,它显然已初始化,但是编译器可能不知道(而且也不知道)。想像: 编译器需要中的常量,但的值取决于某些外部变量。

  • 本文向大家介绍我们可以在JSP中使用XPath表达式的switch语句吗?,包括了我们可以在JSP中使用XPath表达式的switch语句吗?的使用技巧和注意事项,需要的朋友参考一下 在<X:选择>标签的运作方式类似于Java的switch语句。有了这个,您可以在多种选择之间进行选择。如果switch语句具有case语句,则<x:choose>标记具有<x:when>标记。以类似的方式,switc

  • 我有一个数组,它将被迭代,并取决于条件执行任务 我已经用if else完成了这个操作,并用switch,条件是如果(1&&2)(然后执行A)else if(1)(然后执行B)else if(2)(然后执行c)else if(none)(然后执行D) if else工作正常,但是需要对Switch语句进行哪些修正 对于ref=Javascript用数组或字符串切换大小写

  • 我开始学习布尔表达式。我正试图找出以下问题: 假设age1、age2和age3是int变量,假设答案是布尔变量。编写一个表达式,当age1小于或等于age2并且age2小于或等于age3时,该表达式将答案指定为true。否则答案应为false。 我已经尝试了一些东西,但对Java来说还是比较陌生的。我能把答案打印出来,但我的数字还是有问题。 这是错误的: 我只是不知道如何解决这个问题,或者代码中到

  • 问题内容: 我想知道是否有一种方法可以在java switch case语句中执行不区分大小写的匹配。默认实现 区分大小写 。请参见下面的示例。 因此,以上语句作为输出返回。而且我正在尝试使其像 不区分大小写的 匹配一样工作。我尝试将字符串文字都转换为小写,然后进行比较。但无法做到。 问题答案: 如果要这样做:只需确保输入数据全部为小写,并使用小写… 本地化问题 同样,古老的本地化问题再次引起人们