好吧,夥計們,我試圖得到一個Java的基本掛鉤,我想我會做一些比平常更復雜。我在這個方法中的一個嘗試是首先檢查第一個字符是否可以是一個int,如果是,我想看看這個數字在輸入中有多遠(所以如果用戶輸入455 + 60,I '想要拔出455並停在+)。ArrayIndexOutOfBounds當測試一個字符,如果它是一個int
由於某種原因,如果輸入是500噸,它將正常工作。但是如果索引在數字之後結束(例如輸入僅爲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?");
}
}
好吧,謝謝。我確實必須將中間的for循環更改爲rawInput.length && isNum,不確定我們是否只使用該循環的不同版本。 – Signify
@Signify:不,那只是一個錯字。 –