コーディングジレンマの助けが必要なもう1人の初心者。私が作成しようとしているプログラムは、3つの並列配列(userNumber、player、およびHighScore)を使用する小さなデータベースです。ユーザーがプロンプトでユーザー番号を入力する必要があり、プログラムにユーザーの情報が表示されることが意図されています。入力された番号が存在しない場合、プログラムは入力した番号を表示し、正しい番号が入力されるまでユーザー番号を再入力させる必要があります。
私が今実行している問題は、配列リストの有効な番号であるかどうかにかかわらず、プログラムでは配列の最初のユーザー番号以外のユーザー番号を受け付けないことです。また、エラーメッセージには、「間違った」番号が何回入力されたかに関係なく、最初の「間違った」番号のみが表示されます。
正しい質問は次のようになります:
1.入力したuserNumberに対応する配列エントリの情報をプログラムが返すためには、どうすればよいですか?
)入力した「間違った」番号が表示されるように各エラーメッセージを変更するにはどうすればよいですか?数がある場合は、あなたが本当にloop
userNumber
配列によるチェックする必要があり、もちろんパラレルアレイの検索と表示の情報
while (scan < userNumber[0] || scan > userNumber[4])
{
System.out.printf("Error #%s Is Unknown User", scan);
System.out.print("Enter User# ");
scan=input.nextInt();
}
// now use the value
System.out.printf("%s, user# %s, has a high score of: %s",
player[scan-1], userNumber[scan-1], highScore[scan-1]);
考える -
import java.util.Scanner;
public class HighScoreSearch
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int[] userNumber = new int[5];
String[] player = new String[5];
Double[] highScore = new Double[5];
userNumber[0]= 1;
userNumber[1]= 2;
userNumber[2]= 3;
userNumber[3]= 4;
userNumber[4]= 5;
player[0]= "Morpheus";
player[1]= "Neo";
player[2]= "Cereal Killer";
player[3]= "Crash Override";
player[4]= "Acid Burn";
highScore[0]= 853797.67;
highScore[1]= 999999.99;
highScore[2]= 15097.34;
highScore[3]= 864513.16;
highScore[4]= 543188.68;
System.out.print("Enter User# ");
int scan= input.nextInt();
int i=0;
while (scan!=userNumber[i])
{
System.out.printf("Error #%s Is Unknown User", scan);
System.out.print("Enter User# ");
scan=input.nextInt();
}
System.out.printf("%s, user# %s, has a high score of: %s", player[i], userNumber[i], highScore[i]);
}
}
ので、このコード 'しばらく(スキャン!= userNumber [i])と' 'と等価であり、一方、(スキャン!= 1)'あなたが実際にあなたの**全体に入力されたユーザ番号を探すことはありません –
**配列 'userNumber' –
この質問はJavaScriptとは関係ありません –