gpt4 book ai didi

java - 初学者java, "Required: int. Found: Boolean"?

转载 作者:行者123 更新时间:2023-12-01 17:09:23 25 4
gpt4 key购买 nike

这是我的代码。我不明白我搞砸了什么。它说年龄是一个 boolean 值而不是一个整数,我不知道为什么。

import java.util.Scanner;
public class F_DoIRemember {

public static void main(String args[]){
int age;
Scanner inp = new Scanner(System.in);
System.out.println("What is your age?");
age = inp.nextInt();
switch(age){

case(age<5):
System.out.println("Are you learning how to tie your shoes?");

case(age==5):
System.out.println("You know how to tie your shoes!");

case(age>5):
System.out.println("YOU BETTER KNOW HOW TO TIE YOUR SHOES!");
}
}
}

最佳答案

switch(age){

将检查年龄的值。由于 age 的数据类型是 int,因此它总是需要您提供一个 int 值来再次检查。但是您提供的是 bool 值,(age > 5) 将生成 bool 值。

情况中不允许有条件。

要么将age更改为bool(从用户其他地方获取输入),要么将其用作

case 5: 
System.out.println("Are you learning how to tie your shoes?");
break;

您可以在其他地方使用此条件,但不能在 case 标签中使用。

由于您使用的是动态值,

age = inp.nextInt();

这不会总是相同的,请使用

if(age > 5) {
// code
} else if(age ==5) {
// code
} else { // don't need to use (age < 5)
// code
}

我认为,您确实需要使用这个而不是switch

关于java - 初学者java, "Required: int. Found: Boolean"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24343105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com