我仍然在为这个分级Java代码打印Else语句

  • 本文关键字:Java 代码 打印 语句 Else java
  • 更新时间 :
  • 英文 :


对于下面的代码,这只是我正在编写的代码的一部分。我需要帮助弄清楚为什么无论我输入什么数字,它都会一直打印出Else语句。

System.out.println("提供1-100之间的整数以查看奇数还是偶数:"(;

int number;

number = inputNum.nextInt();

//If statement for finding even or odd numbers
if (number % 2 == 0) {
System.out.println(number + " is an even number.");
} else {

System.out.println(number + " is an odd number.");
}

// letter grade
System.out.println("Determine Letter Grade: ");

if(number>=100 && number<90) {
System.out.print("A");

} 

else if(number>=89 && number<80)
{
System.out.print("B");

} 
else if(number>=79 && number<70)

{
System.out.print("C");

} 
else if (number>69 && number<60)

{
System.out.print("D");
}
else  {
System.out.println("F");
}

检查您的<以及>。你把它们都颠倒了。编写它的方式是,没有一个输入值会通过任何这些检查。

你的意思可能是:

if(number<=100 && number>90) {
System.out.print("A");
} 
else if(number<=89 && number>80)
{
System.out.print("B");
} 
else if(number<=79 && number>70)
{
System.out.print("C");
} 
else if (number<=69 && number>60)   
{
System.out.print("D");
}
else  {
System.out.print("F");
}

If条件始终为false。

number>=100 && number<90

这意味着如果数字大于100且小于90,则进行检查,这将始终导致错误。其他情况相同。

if(number <= 100 && number > 90) {
System.out.print("A");
}
else if(number <= 89 && number > 80) {
System.out.print("B");     
} 
else if(number <= 79 && number > 70) {
System.out.print("C");
} 
else if (number <= 69 && number > 60) {
System.out.print("D");
}
else {
System.out.println("F");
}

您已经颠倒了条件,所以所有条件都为false。避免在几个if语句中重复类似的条件会更干净,并减少错误。如果更改逻辑仅检查最高值,则可以删除所有&&

if(number>100) {
System.out.print("The number is too high");
} else if(number>90) {
System.out.print("A");
} else if(number>80) {
System.out.print("B");
} else if(number>70) {
System.out.print("C");
} else if (number>60) {
System.out.print("D");
} else if (number >= 0){
System.out.print("F");
} else {
System.out.print("The number is too low");
}

最新更新