私のプログラムは、ユーザーからデータベースにURLを受け取り、このデータベースを処理し、平均を計算して表示することです。そのための私のアルゴリズムは完璧にうまく動作します。問題はURL例外の処理です。ユーザーが無効なURLを入力した場合、再試行して正しいURLを入力する必要がありますが、ユーザーがURLを再度入力すると、URLのデータは処理されず、出力に「NaN」が表示され続けます。以下は、私が問題がそこにあると信じているtry catchブロックです。できれば助けてください。Try-Catchブロックが私のように例外をハンドリングしない
//テストURL // URL salary =新しいURL( "http://cs.armstrong.edu/liang/data/Salary.txt");
System.out.println("Enter The URL to the File ");
Scanner UserInput = new Scanner(System.in);
try
{
//Ask The User to Input the URL
URL salary = new URL(UserInput.nextLine());
Scanner Read = new Scanner(salary.openStream());
while(Read.hasNextLine())
{
for(int i = 0; i < Faculty.length; i++)
{
String Firstname = Read.next();
String Lastname = Read.next();
String rank = Read.next();
double Salary = Read.nextDouble();
if(rank.matches("assistant"))
{
Faculty[i] = new AssistantProfessor(Firstname, Lastname, rank, Salary);
allAssistantProff[i] = new AssistantProfessor(Firstname, Lastname, rank, Salary);
AssistantProfessors++;
}
if(rank.matches("associate"))
{
Faculty[i] = new AssociateProfessor(Firstname, Lastname, rank ,Salary);
allAssociateProff[i] = new AssociateProfessor(Firstname, Lastname, rank ,Salary);
AssociateProfessors++;
}
if(rank.matches("full"))
{
Faculty[i] = new FullProfessor(Firstname, Lastname, rank, Salary);
allFullProff[i] = new FullProfessor(Firstname, Lastname, rank, Salary);
FullProfessors++;
}
//System.out.println(Faculty[i]);
//System.out.println(allAssistantProff[i]);
//System.out.println(allAssociateProff[i]);
//System.out.println(allFullProff[i]);
}
}
}
catch(MalformedURLException ex)
{
System.out.println("invalid URL" + " Try Again ");
URL salary = new URL(UserInput.nextLine());
}
だから、例外はありますか?私はコントロールがブロックをキャッチするように到達するのですか? – tesnik03
これはデバッグサービスではありません。自分でデバッガを使用してください。 – Raedwald