**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
我有一个项目,我在我的班级工作,要求你使用开关的情况下,使用用户的腰围测量,以获得他们的裤子的大小。然而,当我开始的情况下,开关的情况下,它给我错误的第13行。
public class MySizes {
public static void main(String[] args) throws IOException {
int waistMeasurement; //creates variable
Scanner in = new Scanner(System.in); //allows user input
System.out.println("Hello, customer. In order to find pants in your size I need to know your waist measurement. \nWhat is your waist measurement(enter in centimetres)?");
waistMeasurement = in.nextInt(); //reads the user input and stores it in the waistMeasurement vairiable
System.out.println("Your waist measurement is " + waistMeasurement + "cm. I will look at our sizing chart to see what size you'll wear.");
switch (waistMeasurement) {
case (<66):
System.out.println("Your pants size is small.");
break;
}
}
}
我试着在这个网站上搜索,读到我可能漏掉了一个花括号,但是我检查了三遍,看起来不像是我......我能想到的另一件事是,也许我不知道如何正确地将变量与数字66进行比较......但即使我试着这样做,它也不能转换为布尔值,所以我不知道该怎么做。顺便说一句,我对这种编程语言不是很了解,所以如果可能的话(取决于我做错了什么,它可能不是),我希望有一个更简单的解释,我可以做什么来修复它。
我期待开关箱没有错误,但它有一个错误,我不知道什么可能导致它。
2条答案
按热度按时间e0bqpujr1#
case
不能以这种方式包含条件。您可能需要使用条件。变成:
作为旁注,
break
用于交换机中以防止失败,这样只执行一个用例,而不执行任何后续用例。有时失败可能是所需的行为。因为交换机中只有一个case,所以
break
是无关紧要的。vngu2lb82#
你不能在开关盒内使用这种条件。
开关仅接受固定值。
您可以编写如下代码:
而且如果有更多的条件要检查,可以使用else if、else或者合并逻辑运算符&&(and),||(或)。
希望我的回答能解决你的问题。