0

我现在只是在大学学习编码。我们的任务是创建一个 else if 程序,该程序基于以用户年龄为输入的扫描仪。我遇到了一个问题,无论输入如何,都只显示一个输出。任何人都可以帮忙吗?

import java.util.Scanner;

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


     Scanner input = new Scanner(System.in);
        int age;

        System.out.println("Enter your age");
        age = input.nextInt();

        if (age <= 18) { 
        System.out.println("You are a child!");

        }

        else if (age < 59 && age > 19) {
        System.out.println("You are an adult!"); 
        }

        else if (age >= 60); {

        System.out.println("You are old!");

        }
     }
 }                

You are old每次输入年龄时,这似乎都会打印出选项。

4

2 回答 2

2

问题在粗线下方。

if 块后的分号导致此问题。

删除分号。

否则如果(年龄> = 60);

这是使 if 语句与 print line 语句分开。这就是为什么 print line 正在执行而不管输入是什么。

于 2019-01-18T10:21:30.263 回答
1

如果您必须在此语句中执行多个代码,则在elseor or else ifor ifnot put之后,因此删除并离开将解决您的问题。semicolonsemicolonbrackets

所以你的代码将是:

    int age;

    System.out.println("Enter your age");
    age = in.nextInt();

    if (age <= 18) {
        System.out.println("You are a child!");

    }
    else if (age < 59 && age > 19) {
        System.out.println("You are an adult!");
    } 
    else if (age >= 60) {

        System.out.println("You are old!");
    }
于 2019-01-18T10:54:39.663 回答