2016-04-17 7 views
0

私はJava言語には比較的新しいですが、より良くなるようにしようとしていますので、履歴書にスキルを追加できます。私は現在、配列に焦点を当てています。カルチャー・エンリッチメントのクレジット(私の学校の必要性からインスパイアされた)を追跡するために、バーコードスキャナやキーボードで使用できるプログラムを作成しています。私はそれが配列の使用の周りに私の頭を包むためのきちんとした出発プログラムかもしれないと思ったが、私は2つの配列に問題がある。入力された新しい値を上書きし続けます。私はグーグルでやっていることをやっているが、私はまだそれらを正しく働かせることができず、より多くの熟練したコーダーから助けを求めたいと思う。私の出力方法はかなり怠け者ですが、出力形式については私が見たいと思っています。あなたはそれが常に0を使用することであるようなnをインクリメントする必要があり、あなたのループ内私のJava配列が既存の要素を上書きする

public static void main(String []args)throws InputMismatchException 
{ 
    Scanner user_input = new Scanner(System.in); 

    int n = 0; 
    String Name; 
    int CEU; 
    String[] users = new String[5]; 
    String[] numbers = new String[6]; 
    Object end = null; 
    Object print = null; 

    System.out.print("Enter value for CEU: "); 
    CEU = user_input.nextInt(); 

    while (n >= 0) 
    {   

     /* Loop*/ 
     System.out.println("Scan ID or type **end,print** "); 
     numbers[n] = user_input.next(); 

     if ("end".equals(users[n])) 
     { 
     System.out.print("Program terminated."); 
     System.exit(0); 
     } 

     if ("print".equals(numbers[n]))   
     { 

     System.out.print("CEUs: " + CEU); 
     System.out.print(" ID#: " + numbers[0]); 
     System.out.print(" Name: " + users[0]); 

     System.out.print("\nCEUs: " + CEU); 
     System.out.print(" ID#: " + numbers[1]); 
     System.out.print(" Name: " + users[1]); 

     System.out.print("\nCEUs: " + CEU); 
     System.out.print(" ID#: " + numbers[2]); 
     System.out.print(" Name: " + users[2]); 

     System.out.print("\nCEUs: " + CEU); 
     System.out.print(" ID#: " + numbers[3]); 
     System.out.print(" Name: " + users[3]); 

     System.out.print("\nCEUs: " + CEU); 
     System.out.print(" ID#: " + numbers[4]); 
     System.out.print(" Name: " + users[4]); 

     } 
     else 
     { 

     System.out.print("Enter Name: "); 
     users[n] = user_input.next(); 

     } 
    } 
} 

答えて

1

:ここ

は私のコードはn ++; whileループ内のコードの最後の行にあります。

+0

ああ、今すぐご覧いただきありがとうございます。 –

+0

私はあなたの問題を解決するお手伝いをすることができます。あなたは私の答えをupvoteできますか?ありがとう – goncalopinto

0

nが増分されていません。 nは決して変更されないので、ループが実行されるたびに配列の同じ部分がオーバーライドされます。また、あなたは私が増え続けるので、あとでoutofboundsエラーが出るかもしれないようです。間もなく数値配列の最大インデックスよりも大きくなるので、エラーが返されます。エラーの発生を止めるコードを追加してみてください。

関連する問題