我正在尝试编写一个程序,它将采用包含“How”,“Are”和“You?”的ArrayList。并将此传递给'stutter'方法,该方法将在询问用户数字/他们想要重复该单词的次数之后使输出重复单词。
示例:如果用户输入4,我会通过How,Are和You? 4这个口吃方法和输出将是How,How,How,How,Are,Are,Are,Are,You?,你?,你?,你?这看起来很简单,但我无法得到正确的输出。任何帮助表示赞赏!
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);
}
}
}
答案 0 :(得分:0)
print语句在外部循环中运行,因此它为每个modifiedList
打印str
一次。将其移动到方法的末尾,以便打印最终结果一次:
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);
}