Java 两个数组按第一个数组的数目合并为一个数组
我有两个类似的列表:Java 两个数组按第一个数组的数目合并为一个数组,java,arrays,list,Java,Arrays,List,我有两个类似的列表: 1. [apple, orange] 2. [cyan, magenta, yellow, black] 1. [apple:cyan,magenta] 2. [orange:yellow, black] 我希望算法像这样打印: 1. [apple, orange] 2. [cyan, magenta, yellow, black] 1. [apple:cyan,magenta] 2. [orange:yellow, black] 我做错了什么 pu
1. [apple, orange]
2. [cyan, magenta, yellow, black]
1. [apple:cyan,magenta]
2. [orange:yellow, black]
我希望算法像这样打印:
1. [apple, orange]
2. [cyan, magenta, yellow, black]
1. [apple:cyan,magenta]
2. [orange:yellow, black]
我做错了什么
public static void main(String[] args) throws IOException {
String file_name_Colors = "D:/colors.txt";
String file_name_Fruts = "D:/fruts.txt";
Scanner input = new Scanner(System.in);
int number_Colors;
int number_Fruts;
number_Colors = input.nextInt();
number_Fruts = input.nextInt();
try{
ReadFileColors fileColors = new ReadFileColors(file_name_Colors, number_Colors);
ReadFileFruts fileFruts = new ReadFileFruts(file_name_Fruts, number_Fruts);
String[] aryLines = fileColors.OpenFileColors();
String[] aryLinesFruts = fileFruts.OpenFileFruts();
List<String> listColorPleaseTY = new ArrayList<>();
List<String> listFruts_Fruts = new ArrayList<>();
int numberColorPlease;
int numberFrutsPlease;
for(numberColorPlease=0; numberColorPlease<aryLines.length; numberColorPlease++){
listColorPleaseTY.add(aryLines[numberColorPlease]);
}
for(numberFrutsPlease=0; numberFrutsPlease<aryLinesFruts.length; numberFrutsPlease++){
listFruts_Fruts.add(aryLinesFruts[numberFrutsPlease]);
}
System.out.println(listFruts_Fruts);
System.out.println(listColorPleaseTY);
List<String> subItemslistnewone = new ArrayList<String>(listColorPleaseTY.subList(0, number_Colors));
System.out.println(subItemslistnewone);
} catch (IOException e){ System.out.println( e.getMessage() ); }
}
我不确定分配标准,你需要这样的东西吗
public static void main(String[] args) {
List<String> fruits = Arrays.asList("apple","orange");
List<String> colours = Arrays.asList("cyan","magenta","yellow","black");
List<String> result = new ArrayList<>(fruits.size());
for (int i = 0; i < fruits.size(); i++) {
StringBuilder sb = new StringBuilder();
sb.append(fruits.get(i));
sb.append(":");
int begin = (i*colours.size())/fruits.size() + 1;
int end = ((i+1)*colours.size())/fruits.size();
sb.append(colours.get(begin-1));
for (int j = begin; j < end; j++) {
sb.append(",");
sb.append(colours.get(j));
}
result.add(sb.toString());
}
for (int i = 0; i < result.size(); i++) {
System.out.println((i+1)+". ["+result.get(i)+"]");
}
}
请共享您目前编写的代码。颜色已定义?是否要始终将两种颜色与一个给定的水果匹配?或者你使用什么标准?数字,我想要x数量的水果分配给x数量的颜色请定义你试图正确解决的问题一个例子需要很多假设,以及你的代码中存在的问题,我们不需要自己运行它来解决。它只适用于2个水果和4种颜色,我希望它能为迪纳米克数量的水果和迪纳米克数量的颜色工作,非常感谢,我至少有一些东西。我想给x数量的水果分配x数量的颜色。再次感谢你。让我们这样说:列表水果包含1000个水果,列表颜色包含5000个,我想每次为不同数量的水果分配不同数量的颜色。一次我想打印7个水果,每个水果2种颜色,另一次50个水果,每个水果10种颜色。非常感谢,我已经修改了它,这就是我想要的。非常感谢。