Java 使用自定义输入将字符串的输出相乘

Java 使用自定义输入将字符串的输出相乘,java,Java,我正在尝试编写一个程序,该程序将获取一个包含“How”、“Are”和“You?”的ArrayList,并将其传递给一个“stutter”方法,该方法将在询问用户数字/他们希望单词重复多少次后,让输出重复单词 示例:如果用户输入4,我将通过How,Are和You?对于这个口吃方法,输出是How,How,How,Are,Are,Are,Are,You?,You?,You?,You?,You?,You?。这似乎很简单,但我无法获得正确的输出。感谢您的帮助 import java.util.*; pub

我正在尝试编写一个程序,该程序将获取一个包含“How”、“Are”和“You?”的ArrayList,并将其传递给一个“stutter”方法,该方法将在询问用户数字/他们希望单词重复多少次后,让输出重复单词

示例:如果用户输入4,我将通过How,Are和You?对于这个口吃方法,输出是How,How,How,Are,Are,Are,Are,You?,You?,You?,You?,You?,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);
        }       
     } 
 }      
import java.util.*;
公开课问题3{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
列表。添加(“如何”);
列表。添加(“是”);
列表。添加(“你?”);
扫描仪输入=新扫描仪(System.in);
System.out.println(“重复多少次?”);
int repeat=input.nextInt();
System.out.println(“结巴前:+列表”);
口吃(列表,重复);
}
公共静态void stutter(ArrayList列表,int repeat){
ArrayList modifiedList=新建ArrayList();
for(字符串str:list){
for(int i=0;i
print语句在外部循环中运行,因此它会为每个
str
打印一次
modifiedList
。将其移动到方法的末尾,以便打印一次最终结果:

 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);
 } 
publicstaticvoidstutter(arraylistlist,int repeat){
ArrayList modifiedList=新建ArrayList();
for(字符串str:list){
for(int i=0;i
系统输出打印(修改列表)
应该在这两个循环之外。你能添加问题的输出吗?@dave如果代码是正确的,他在最后一次打印时不会仍然得到正确的答案吗?放置似乎是一种调试技术。我想没有打印新行,所以打印之间的分隔可能是欺骗。@EastonBornemeier他会的,我想他会的。谢谢!!我觉得自己很傻,因为我没有试过,但它很有魅力。@M.Luke没问题。如果它解决了你的问题,请告诉我。