if和else语句有很多问题

时间:2016-12-12 01:26:10

标签: java if-statement

我在Java中使用ifelse语句遇到了很多问题。我关注this basic tutorial,但我正在使用Eclipse,因为带有TMC的NetBeans不适用于我。

我想做的是8.2练习15,询问你的年龄,如果你超过17岁,你就是成年年龄,如果你是17岁或以下,你就不是。

这是我目前编写的程序:

import java.util.Scanner;

public class ifelse {
  public static void main (String args[]){
    Scanner reader = new Scanner(System.in);
    System.out.println("Enter your age: ");
    int num1 = 100;
    int num3 = 17;
    int num2 = Integer.parseInt(reader.nextLine());
    boolean isGreater = num1 > num3;
    boolean isLesser = num1 < num3;

    if (isLesser) {
      System.out.println("You have not reached the age of majority yet!");
    }

    if (isGreater) {
      System.out.println("You have reached the age of majority!");
    } else {
      System.out.println("You have not reached the age of majority yet!");
    }
  }
}

我试图搞乱布尔和不同编号的int等等,但我无法让它发挥作用。目前我可以运行该程序,但无论我输入什么,最终都说你已达到成年年龄。

我创建了布尔isLesser并在if语句中使用它,认为它会有所帮助,但它似乎忽略了第一个if语句或其他内容。

我查看了类似的问题和可能有我答案的问题,但没有一个问题与我有完全相同的问题。

1 个答案:

答案 0 :(得分:0)

在编写if语句之前,尝试考虑可以满足的所有条件。在这种情况下,有3 ...

if (num2 < num3)
{ 
  //less than the age of majority
}
else if (num 2 > num3)
{
  //greater than the age of majority
}
else if (num2 == num3)
{
  //less than the age of majority
}

或者,我们可以使这更简单:

if (num2 > num3)
{
  // greater than the age of majority
}
else
{
  // less than the age of majority
}