【发布时间】:2013-10-15 05:24:37
【问题描述】:
这个程序说第一个有效是无效的,无论如何,然后第二个输入无论如何都是有效的。知道为什么吗?
public class test
{
public static void main (String [] args)
{
int gradeValidity, verifiedGrade, grade, validGrade;
grade=gradeValidity ();
System.out.println("your total grade is"+grade);
System.exit(0);
}
private static int gradeValidity ()
{
int gradeOne;
boolean verifiedGrade ;
gradeOne=ConsoleInput.readInt("Input student grade");
verifiedGrade=((gradeOne>=0) && (gradeOne<=100));
do
{
System.out.println("Invalid input");
gradeOne=ConsoleInput.readInt("Input student grade");
}
while (!verifiedGrade);
return gradeOne;
}
}
更新到这个。但现在我可以无与伦比(boolean 和 int)
import io.*;
public class test
{
public static void main (String [] args)
{
int gradeValidity, verifiedGrade, grade, validGrade;
grade=gradeValidity ();
System.out.println("your total grade is"+grade);
System.exit(0);
}
private static int gradeValidity ()
{
int gradeOne;
boolean verifiedGrade ;
gradeOne=ConsoleInput.readInt("Input student grade");
verifiedGrade=((gradeOne>=0) && (gradeOne<=100));
while (gradeOne!=verifiedGrade);
{
System.out.println("Invalid input");
gradeOne=ConsoleInput.readInt("Input student grade");
}
return gradeOne;
}
}
它仍然会出现错误,第一个输入始终为假,第二个始终为真,无论 >0 和
import io.*;
public class test
{
public static void main (String [] args)
{
int gradeValidity, verifiedGrade, grade, validGrade;
grade=gradeValidity ();
System.out.println("your total grade is"+grade);
System.exit(0);
}
private static int gradeValidity ()
{
int gradeOne;
boolean verifiedGrade;
gradeOne=ConsoleInput.readInt("Input student grade");
verifiedGrade=((gradeOne>=0) && (gradeOne<=100));
while (!verifiedGrade);
{
System.out.println("Invalid input");
gradeOne=ConsoleInput.readInt("Input student grade");
verifiedGrade=((gradeOne>=0) && (gradeOne<=100));
}
return gradeOne;
}
}
【问题讨论】:
-
嗨,看起来你是 StackOverflow 的新手——欢迎!请注意:虽然很容易猜出您可能正在使用 Java,但作为一般规则,您应该在此类问题中提及您使用的语言。
标签: while-loop integer boolean