我有一项作业,我必须完成学校制作GPA计算器。它共有三个类。在我正在上课的课程中,我们必须设置多种方法。我这个特殊的方法,即“readGradeCount”方法,用户应该输入他们想要为GPA计算的等级数。用户应该输入一个正数和一个大于零的数字。我必须验证这个用户输入,所以我决定通过使用循环来做到这一点。当我运行代码时,它给了我以下
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\,][decimal separator=\.][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q�\E][infinity string=\Q∞\E]
我不知道这意味着什么,我已经尝试了很多东西来解决它,但我做不到。这是我的方法代码:
public static int readGradeCount()
{
int count;
Scanner keyboard;
keyboard = new Scanner(System.in);
do
{
System.out.print("How many grades? ");
while(!keyboard.hasNextInt())
{
System.out.print("Bad value- " + keyboard + "\n");
keyboard.next();
System.out.print("How many grades? ");
}
count = keyboard.nextInt();
}
while (count <= 0);
return count;
}
用户输入的值应该出现在短语“Bad value-”之后,但我得到了这一行。有什么建议?谢谢你的帮助!
答案 0 :(得分:2)
您正在Scanner keyboard
语句中打印println
,尝试使用keyboard.next()
中的println
,然后删除程序中的keyboard.next()
。
答案 1 :(得分:1)
您正在打印扫描仪,这会产生一个非常奇怪的字符串。尝试先捕获键盘的值并打印出来。
abstract class Order {
abstract void makePayment(PaymentObj);
}
//hibernate entity
class OrderType1 extends Order{
//override
makePayment() {
}
}
// hibernate entity
class OrderType2 extends Order {
// override
makePayment() {
}
}