0
import java.util.Scanner;

public class ExcerciseCJava {
    public static void main(String[] args) {
        Scanner user_input = new Scanner (System.in);

        int user_age;
        System.out.print("Enter you're age");
        user_age = user_input.nextInt();

        if (user_age <= 10) {
            System.out.println("You are between 0 and 10");
        }else if (user_age > 10 && < 20) {   //<-(Error is showing on this line)
            System.out.println("You are between 11 and 20");
        }
    }
}
4

6 回答 6

2

代替

if (user_age > 10 && < 20)

if (user_age > 10 && user_age < 20)
于 2013-11-12T09:52:49.460 回答
1

因为语法不正确,试试这个

else if (user_age > 10 && user_age < 20) {   

这是如何执行的?

  1. 计算第一个布尔语句user_age > 10

  2. 和第二个陈述user_age < 20

  3. &&使用两者执行。

因此,在您的情况下,第二个语句成为< 20语法上不正确的语句,因为没有什么可以与 20 进行比较。

于 2013-11-12T09:53:15.943 回答
0

您必须明确指定比较的目的:

else if (user_age > 10 && user_age < 20) {

但是,请注意,您已经user_age > 10在前面的条件中确定了这一点:

if (user_age <= 10) {

所以你不需要再次检查它:

if (user_age <= 10) {
    System.out.println("You are between 0 and 10");

} else if (user_age < 20) {
    // user_age was not <= 10, it must be > 10
    System.out.println("You are between 11 and 19");

} else {
    System.out.println("You are 20 or older");
}
于 2013-11-12T09:57:50.730 回答
0

改变

if (user_age > 10 && < 20)

和 :

if (user_age > 10 && user_age < 20)
于 2013-11-12T09:55:14.430 回答
0

它是一个语法错误。

 else if (user_age > 10 && < 20){...} 

它应该是

 else if (user_age > 10 && user_age < 20){...}
                           ^^^^^^^^
于 2013-11-12T09:52:49.153 回答
0
else if (user_age > 10 && < 20)

应该

else if (user_age > 10 && user_age < 20)

在常规数学术语中,你这样做

6 > x > 2 , meaning x i greater than 2 or less than 6

在 Java 中,您可以将每条逻辑分开

(user_age > 10 && user_age < 20)
于 2013-11-12T09:54:05.880 回答