我必須創建一個程序來計算三角形的斜邊。它只能使用數字,如果給定的輸入不是數字,那麼它應該拋出異常。我能夠做到這一點,但是我希望用戶不能輸入0,因爲0的三角形的一邊沒有三角形。我試過如果陳述,但我不認爲我正確使用它們。請幫忙!如何在使用程序時不讓用戶使用0?
import java.util.InputMismatchException;
import java.util.Scanner;
public class handleexceptions1{
public static void main(String[] args) {
boolean repeat = true;
double _sideA = 0;
while (repeat) {
try {
Scanner input = new Scanner(System.in);
System.out.println("Please enter side A: ");
_sideA = input.nextDouble();
repeat = false;
} catch (InputMismatchException e) {
System.out.println("Error! Please enter a valid number!");
}
}
boolean repeat2= true;
double _sideB = 0;
while (repeat2){
try {
Scanner input = new Scanner(System.in);
System.out.println("Please enter side B: ");
_sideB = input.nextDouble();
repeat2= false;
} catch (InputMismatchException e) {
System.out.println("Error! Please enter a valid number!");
}
}
double hyptonuse = Math.sqrt((_sideA*_sideA) + (_sideB*_sideB));
System.out.println("Side C(the hyptonuse) is: "+ hyptonuse);
}
}
我在代碼中沒有看到「if」語句。 – melpomene
你可以在你的try/catch中檢查你的變量是否大於0,然後拋出一個新的異常,如果它是0.然後你可以添加一個新的catch來處理異常。 – user1408767