2017-04-26 17 views
-3

私はJavaに新しいので、件名を尋ねて合計と平均を計算する簡単なプログラムを作成しようとしています。ユーザー入力を文字列配列に変換し、ユーザーが入力する件名の名前を表示します。配列の文字列でユーザー入力を行い、文字列配列の入力を増やす

はここでちょうどここ配列入力の問題を書いて私のプログラムのイムです:

public class SimpleSamples { 

    public static void main(String[] args) { 

     Scanner userInput = new Scanner(System.in); 
     String[] subjects = new String[5]; 

     int subjectCount = 0; 

     String subjectsName; 

     if(subjectCount <= 5) 
     { 
      subjectsName = userInput.nextLine(); 
      subjects[subjectCount] = subjectsName; 
      subjectCount+=1; 
     } 
    } 
} 

しかし、その唯一の印刷用1つの主題とプログラムが停止し、それは単純に配列要素をインクリメントしません(被験者が入力されます)。

答えて

2
if(subjectCount <= 5){ 
    ... 
    } 

が1回実行されます。これは、ループである必要があり、あなたはそれを0からsubjectCount開始など5時に実行したい場合は、45を交換する必要があります。反復回数が知られているように

while(subjectCount <= 4){ 
    ... 
} 

以上シンプルで読みやすい使用ループ:

for (int subjectCount=0; subjectCount<subjects.length; subjectCount++){ 
     subjects[subjectCount] = userInput.nextLine(); 
} 
+0

おかげで、私は気づいていなかった可能性がどのように愚かな間違いだったおっとを! – Asad

+0

あなたは歓迎です:) – davidxxx

2

条件をtrueにすると、コードを実行するという条件がチェックされます。そのため、1回だけ実行されます。

ここではループのようにwhile,forを使用してください。 と、常に配列のインデックス開始ので、5回を印刷するための

while(subjectCount < 5) 

などの条件を変更してください。

更新されたコード

public class SimpleSamples { 

public static void main(String[] args) { 

    Scanner userInput = new Scanner(System.in); 
    String[] subjects = new String[5]; 

    int subjectCount = 0; 

    String subjectsName; 

    while(subjectCount < 5) 
    { 
     subjectsName = userInput.nextLine(); 
     subjects[subjectCount] = subjectsName; 
     subjectCount+=1; 
    } 


} 
} 
0

次の変更を行います

public class SimpleSamples { 

    public static void main(String[] args) { 

     Scanner userInput = new Scanner(System.in); 
     String[] subjects = new String[5]; 

     int subjectCount = 0; 

     String subjectsName; 

for(int i=0;i<subjects.size();i++){ 
if(subjectCount <= 5) 
     { 
      subjectsName = userInput.nextLine(); 
      subjects[subjectCount] = subjectsName; 
      subjectCount+=1; 
     } 
} 

    } 
} 
関連する問題