2013-10-13 98 views
-4

嘿所以我正在編寫一個程序,用戶輸入正好10個單詞,並且計算機輸出每個單詞中有一個Aa。我用一些幫助編寫了該程序,現在我需要現在如何讓用戶可以通過一個while循環重新輸入10個單詞。這是我到目前爲止。編寫一個簡單的循環

import java.util.Scanner; 

public class ReadASH{ 
    public static void main(String[] args){ 
     Scanner in = new Scanner(System.in); 

     String name; 
     String S=""; 
     System.out.println("Please enter any word."); 
     S = in.nextLine(); 
     if(S.contains("a")||S.contains("A")) 
      System.out.println(S); 
     else System.out.println("The word you entered contains no a's or A's"); 
    } 
} 
+0

瞭解如何使用調試器。 –

+3

你的循環在哪裏?做一個'for(int i = 0; i <10; i ++)' – nachokk

+2

你面對的確切問題是什麼?有時候提出這個問題可以幫助你找到答案! – Meesh

回答

3

實際上你需要有一個循環,是這樣的:根據評論

import java.util.Scanner; 

public class ReadASH{ 
    public static void main(String[] args){ 
    Scanner in = new Scanner(System.in); 

    String name; 
    String S; 
    for (int i=0; i<10; i++) { 
     System.out.println("Please enter any word."); 
     S = in.nextLine(); 
     if (S.contains("a")||S.contains("A")) 
     System.out.println(S); 
     else System.out.println("The word you entered contains no a's or A's"); 
    } 
    } 
} 

更新代碼:

import java.util.Scanner; 

public class ReadASH{ 
    public static void main(String[] args){ 
    Scanner in = new Scanner(System.in); 

    String name; 
    int wordsToRead = 10; 
    String words[] = new String[wordsToRead]; 

    for (int i=0; i< wordsToRead; i++) { 
     System.out.println("Please enter any word."); 
     words[i] = in.nextLine(); 
    } 
    for (int i=0; i< wordsToRead; i++) { 
     if (words[i].contains("a")||words[i].contains("A")) 
     System.out.println(words[i]); 
    } 
    } 
} 
+0

謝謝!這有很大的幫助,但我想知道是否有可能在用戶先輸入所有10個單詞然後計算器輸出回來的地方編寫它。 (例如,用戶輸入「籃球,球,門,賽車,蘋果,螞蟻,精確,溼,不喜歡」,然後計算機輸出「籃球,賽車,球,appple,螞蟻」 –

+0

@ShadonHamedani你想存儲你的結果在一個數組,然後遍歷數組 –

+0

看起來不錯,但現在當我嘗試運行它,我得到一個錯誤說 「java.lang.ArrayIndexOutOfBoundsException:10 \t在HWReadASH.main(HWReadASH.java:13 )「 –