【发布时间】:2014-10-03 02:15:11
【问题描述】:
对不起,伙计们,第一次在这里发帖,所以请告诉我是否有一些礼仪或我应该遵循的任何事情!
我在论坛上看到过其中一些,我已经浏览了它们,试图做出一个工作,但我似乎做不到。
我需要创建一个程序,要求用户输入两个正整数。每次回答一个整数时,我都想验证以确保它是 1)一个数字和 2)也是正数。如果不是,我应该终止程序。到目前为止,我已经尝试过:
import java.util.Scanner;
public class Assignment4 {
public static void main (String [] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Please enter two positive integers.");
System.out.println("Please enter the first integer:");
int num1 = in.nextInt();
do {
System.out.println("Invalid. ***End of Program***");
System.exit(0);
while (!in.hasNextInt()) {
System.out.println("Invalid. ***End of Program***");
System.exit(0);
}
}while (num1 <= 0);
}
}
}
这适用于我输入负数时,但由于某种原因,java 只会收到无效的错误输入,并且在我输入字母时不会运行。我也试过了:
import java.util.Scanner;
public class Assignment4 {
public static void main (String [] args)
{
Scanner in = new Scanner(System.in);
System.out.println("Please enter two positive integers.");
System.out.println("Please enter the first integer:");
int num1 = in.nextInt()
if (!in.hasNextInt()){
System.out.println("Invalid integer. ***End of Program***");
System.exit(0);
}else if (num1 <= 0){
System.out.println("Invalid negative number. ***End of Program***");
System.exit(0);
}
}
}
它什么也没做。我昨天已经解决了这个问题大约 2 个小时,今天又解决了一个小时,在网上寻找其他解决方案。我不能使用任何 match 或 try/catch 语句,因为我还没有学会它们!任何见解都会很棒,因为我在这里要疯了。
【问题讨论】:
标签: java user-input do-while