Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java代码如何将颜色附加到列表中一定次数_Java_Arrays_Colors - Fatal编程技术网

Java代码如何将颜色附加到列表中一定次数

Java代码如何将颜色附加到列表中一定次数,java,arrays,colors,Java,Arrays,Colors,如何编写一个方法(名为extendSequence),将颜色添加到列表中一定次数。它按以下顺序接受三个参数: ArrayList类型的颜色列表 要添加颜色类型的颜色 int类型的运行长度或附加颜色的次数 例如:假设一个列表包含Color.Red和Color.Blue。然后方法extendSequence(list,Color.Blue,2)更改列表,使其包含元素[Color.Red,Color.Green,Color.Blue,Color.Blue]。尝试: List<Color>

如何编写一个方法(名为extendSequence),将颜色添加到列表中一定次数。它按以下顺序接受三个参数: ArrayList类型的颜色列表 要添加颜色类型的颜色 int类型的运行长度或附加颜色的次数

例如:假设一个列表包含Color.Red和Color.Blue。然后方法extendSequence(list,Color.Blue,2)更改列表,使其包含元素[Color.Red,Color.Green,Color.Blue,Color.Blue]。

尝试:

List<Color> colours = new ArrayList<Color>();
         colours = extendedSequence(colours, Color.blue, 10);
         System.out.println(colours);


    }

    public List<Color> extendedSequence(List<Color> colours, Color addColor, int numberOfTimes ){

while (numberOfTimes != 0) {
            colours.add(addColor);
            numberOfTimes --;
        }

        return colours;

    }
List colors=new ArrayList();
颜色=扩展序列(颜色,Color.blue,10);
系统输出打印LN(颜色);
}
公共列表扩展序列(列表颜色、颜色添加颜色、整数次){
while(numberOfTimes!=0){
颜色。添加(addColor);
次数——;
}
返回颜色;
}

您可以按如下方式执行:

import java.util.ArrayList;
import java.util.List;

enum Color{
    Red,
    Green,
    Blue
}

public class Main {
    public static void main(String[] args) {
        List<Color> list=new ArrayList<Color>();
        list.add(Color.Red);
        list.add(Color.Green);
        System.out.println(list);
        extendSequence(list, Color.Blue, 2);
        System.out.println(list);
    }
    public static void extendSequence(List<Color> list, Color color, int times){
        if(list!=null) {
            for(int i=1;i<=times;i++)
                list.add(color);
        }
    }
}

我会使用
作为
循环()。我会偏离说明,从
公共静态void extendSequence(List List,T item,int count)开始。
也可以使用
数组。fill
数组。asList(…)
Collection.addAll
如果你不打算使用循环。@user2478398
Stream.generate(…).limit(n).forEach(列表::添加)为什么要麻烦在第2行重新分配变量?当尝试使用此代码时,我收到的输出是直接的颜色对象。如何获取它们各自的红色、绿色和蓝色组件并打印它们。使用for循环迭代列表,对于每种颜色,使用Color.toString()…System.out.println(Color.toString)
[Red, Green]
[Red, Green, Blue, Blue]