晚上好,我有未使用的變量和我的代碼總是拋出後確認異常,不管有效與否
我做了一個介紹性的Java類,它要求我使用開關和嘗試語句分配驗證用戶輸入。 Java應用程序的用戶應該輸入一個與數據類型相關的數字(1 - 字符串,2 - 整數,3 - 雙或4 - 退出)。該數字應該被驗證,但無論數據是否有效,驗證過程總是拋出並且異常。這樣做後,該用戶應該能夠輸入數據,並讓應用程序驗證所輸入的數據確實是選定的數據類型。鑑於我一直遇到拋出異常,我甚至無法測試這部分代碼,但肯定它不會工作,因爲我看到三個未使用的變量,根據我的文本,應該使用(strTryString ,strTryInt和strTryDouble)。在初次選擇數據類型時,我不能在思想上做出連接,然後程序會說「用戶選擇雙精度,比較輸入[strTryDouble?]到雙精度數據類型的參數」。任何幫助,這將不勝感激。以下是我迄今:
import java.io.*;
import javax.swing.JOptionPane;
public class MyType
{
public static void main(String[] args)
{
// declare class variables
String strChoice, strTryString, strTryInt, StrTryDouble;
int choice, tryInt;
double tryDouble;
boolean done = false;
// loop while not done
while(!done)
{
try
{
strChoice = JOptionPane.showInputDialog(null, "What's my type\n\n\n1) String\n2) integer\n3) double\n4) Quit the program");
choice = Integer.parseInt(JOptionPane.showInputDialog(null,strChoice));
switch(choice)
{
case 1:
JOptionPane.showMessageDialog(null, "Correct, any input can be saved as a String.");
break;
case 2:
tryInt = Integer.parseInt(strTryInt);
JOptionPane.showMessageDialog(null, "Correct.");
break;
case 3:
tryDouble = Double.parseDouble(strTryDouble);
JOptionPane.showMessageDialog(null, "Correct.");
break;
case 4:
done = true;
JOptionPane.showMessageDialog(null, "The program will now close.");
break;
default:
throw new NumberFormatException();
}
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null,"Please enter a 1, 2, 3, or 4.","Error",JOptionPane.INFORMATION_MESSAGE);
}
}
}
}