2015-07-02 70 views
-3

我有兩個列表這樣的數字:兩個數組合併爲一個通過的第一個

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()); } 
} 
+4

請分享你寫到目前爲止代碼。 – xxlali

+0

顏色是否已定義? –

+1

你想永遠匹配兩種顏色給一個給定的水果?或者你使用什麼標準? –

回答

0

我不確定分配標準,你需要這樣的東西嗎?

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)+"]"); 
    } 
} 
+0

它只適用於2種水果和4種顏色,我希望它可以用於水果數量和數量的顏色,非常感謝你,我至少有一些東西。我想給x數量的水果分配x數量的顏色。再次感謝你。 –

+0

可以這樣說:名單水果中含有1000種水果和列表顏色包含5000,我想每一次不同的水果中指定的顏色diferent數。有一次,我想打印7種水果,每種水果2種顏色,其他時間50種水果,每種顏色10種。 –

+0

非常感謝,我修改了它,並且我想要的。謝謝。 –

相關問題