次のコードがあります。
Scanner inputSide = new Scanner(System.in);
double side[] = new double[3];
int i = 0;
do{
try{
System.out.println("Enter three side lengths for a triangle (each followed by pressing enter):");
side[i] = inputSide.nextDouble();
i++;
}
catch(Exception wrongType){
System.err.println(wrongType);
System.out.println("Please enter a number. Start again!!");
i=0;
}
}
while(i<3);
それは正常に動作し、間違ったデータ型を入力しなければ意図したことを実行しますが、double 以外のものを入力すると、何度もループし、入力するのを待つ代わりに、try ブロックと catch ブロックの両方ですべてを出力します別のダブル。
なぜこれを行っているのかについての助けをいただければ幸いです-理由が理解できないようです-。
ありがとうございました :)