好吧,伙计们,我正在尝试对 Java 有一个基本的了解,我想我会做一些比平常更复杂的事情。我在这个方法中首先尝试检查第一个字符是否可以是 int,如果是,我想看看这个数字在输入中的距离(所以如果用户输入 455+60,我'd 想要拔出 455 并停在 +)。
出于某种原因,如果输入是 500t,它会正常工作。但是如果索引在数字之后结束(比如输入只是 500),那就有问题了。我认为 for 循环出于某种原因继续运行。谁能告诉我我在哪里搞砸了?我添加了一个 if 语句以查看是否可以阻止它,但无济于事。
public void init(){
int chars = 0;
/*
* Input fancy intro here.
*/
clearArray();
String uInput = getInput();
rawInput=uInput.toCharArray();
cleanArray(rawInput);
try{Integer.parseInt(Character.toString(rawInput[0]));
boolean isNum = true;
for(int i=0;isNum==true;i++){
if(i != rawInput.length){
try{Integer.parseInt(Character.toString(rawInput[i]));}
catch (NumberFormatException s){
isNum = false;
chars = i;
System.out.println("The number has: "+chars+" characters.");
}
}
}
}
catch (NumberFormatException s){
System.out.println("What is this madness?");
}
}