【发布时间】:2016-06-06 20:55:52
【问题描述】:
我能够添加一个 try catch 告诉用户他们不能使用 字母。但是由于某种原因,为负数添加 try catch 似乎可行。我知道 try 块是如果某些事情可能出错的地方,例如输入负数,catch 可以打印出错误消息。我认为这就是我的问题所在。与 try catch 相关的另一个问题是我习惯于用户输入 -1 来输入用户输入的内容,所以我认为它会导致逻辑问题。
tl;dr 添加 try catch 或另一个 catch 以防止用户添加负数
这不是整个程序,但它的作用是过滤掉用户输入的整数并将偶数和奇数分开。
public static void main(String [] args)
{
Scanner stdin = new Scanner(System.in);//for user input
int[] evenNum = new int [100];//Even Array up too 100
int[] oddNum = new int[100];//Odd Array up too 100
int evenIndex=0;//even numbers
int input=0;//user input
int i=0;//incrementer for arrays
int k=0;
int j=0;
String name;
System.out.println("Type In Your Name");//Type in name
name = stdin.nextLine();
while ((i < oddNum.length && i < evenNum.length) && input !=-1)//100 numbers only
{
try{//this is what we want anything else the catch will block it and display a message
System.out.println(name+" Enter a positive number, Enter -1 For results");
input= stdin.nextInt();
oddNum[i]=input;//holds input
i++;//Increments array
}
catch(Exception d){
System.out.println("Only Positive Numbers & no Letters Please!");
stdin.next();
}
}
【问题讨论】:
-
如果您的问题得到解答,请善待并支持/接受您认为正确的答案。
标签: java try-catch negative-number