2017-06-26 12 views
-1

"How"、 "Are"、および "You?"を含むArrayListを使用するプログラムを作成しようとしています。これを 'stutter'メソッドに渡します。このメソッドは、ユーザーに単語の繰り返し回数を尋ねた後に単語を繰り返し出力します。カスタム入力を使用してstringの出力を多重化する

例:ユーザーが4を入力すると、How、Are、Youを渡しますか?このスタッター法には4つの方法があり、出力はどのように、どのように、どのように、どのように、存在しているか、存在しているか、存在していますか、あなたですか、あなたですか、あなたですか?これは十分に単純なようですが、私は正しい出力を得ることができません。どんな助けもありがとう!

+0

'System.out.print(modifiedList);'は両方のループの外側にある必要があります。 – dave

+0

質問に出ている出力を追加できますか? –

+0

@daveコードが正しければ、彼は最後のプリントで正しい答えを得られませんか?配置はデバッグのテクニックのようです –

答えて

0
import java.util.*; 
public class Question3 { 
    public static void main(String[] args) { 
     ArrayList<String> list = new ArrayList<String>(); 
     list.add("how"); 
     list.add("are"); 
     list.add("you?"); 
     Scanner input = new Scanner(System.in); 
     System.out.println("How many repeats?"); 
     int repeat = input.nextInt(); 
     System.out.println("Before stutter: " + list); 
     stutter(list, repeat); 
    } 
public static void stutter(ArrayList<String> list, int repeat){ 
     ArrayList<String> modifiedList = new ArrayList<String>(); 
     for(String str : list) { 
      for(int i = 0; i < repeat; i++) 
       modifiedList.add(str); 
      System.out.print(modifiedList); 
     }  
    } 
}  

print文は外側のループで実行されているので、各strに対して一度modifiedListを印刷します。それをメソッドの最後に移動して、最終結果を1回だけ出力します。

public static void stutter(ArrayList<String> list, int repeat){ 
    ArrayList<String> modifiedList = new ArrayList<String>(); 
    for(String str : list) { 
     for(int i = 0; i < repeat; i++) 
      modifiedList.add(str); 
    }  
    System.out.print(modifiedList); 
} 
+1

ありがとうございます!私はそれを試していないために愚かな感じが、それは魅力のように働いた。 –

+1

@ M.Luke問題ありません。問題を解決した場合は[この回答を受け入れてください](https://meta.stackexchange.com/a/5235/304954)してください。 – shmosel

関連する問題