我在Java中使用if
和else
语句遇到了很多问题。我关注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
语句或其他内容。
我查看了类似的问题和可能有我答案的问题,但没有一个问题与我有完全相同的问题。
答案 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
}