よし、みんな、私は Java の基本的なこつをつかもうとしていて、いつもより少し複雑なものを作ろうと思った。このメソッドで私が持っているのは、最初の文字が int になるかどうかを最初に確認する試みです。そうであれば、その数値が入力でどれだけ進むかを確認したいと思います (したがって、ユーザーが 455+60 を入力した場合、私は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?");
}
}