2017-08-24 35 views
0

下面的代碼是詢問你要回答多少個名字,然後告訴你輸入你所有的名字。我希望它能夠將名稱打印到兩列中,以便將名稱配對在一起。Java ArrayList分成兩列

Scanner scan = new Scanner(System.in); 
System.out.println("How many names would you like to enter?"); 
int n = scan.nextInt(); //Ensures you get an integer 
System.out.println("Enter the " + n + " names: "); 
int N=n+1; 
String[] names = new String[N]; 

//Store the names in an array 
for (int i = 0; i < names.length; i++){ 
    names[i] = scan.nextLine(); 
} 

//Prints the names in a list 
List<String> AllNames; 
AllNames = new ArrayList<>(Arrays.asList(names)); 
Random rand = new Random(); 
Collections.shuffle(AllNames, rand); 
System.out.println(AllNames); 

}} 
+2

對我來說,你的問題還不清楚。請指定你想要什麼,以及你嘗試過什麼... –

+0

*我想要它,以便它將名稱打印到兩列,以便名稱配對在一起。*因此,哪些名稱被配對在一起? – shmosel

回答

0

是這樣的嗎?

String[] names = {"pete", "ryan", "bob", "cynthia", "ulga", "sarah", "madison"}; 

for(int i = 0; i < names.length; i = i + 2) 
{ 
    System.out.print(names[i]); 
    if(i + 1 < names.length) 
    { 
     System.out.print("\t" + names[i + 1]); 
    } 
    System.out.println(); 
} 

輸出

pete ryan 
bob  cynthia 
ulga sarah 
madison 

輸出2

String[] names = {"pete", "ryan", "bob", "cynthia"}; 

生成以下

pete ryan 
bob  cynthia 
+0

我需要一臺掃描儀把名字在這裏是因爲每次程序運行時,它可能有不同的名稱 –

+0

我知道,只是採取了循環邏輯並將其應用到你的ArrayList稱爲AllNames –

+0

所以我現在已經內唯一的問題該代碼是它打印出一個空白區域。在結果中,如果我放入4個名字,則會打印其中的3個,幷包含空格。 –

0

@RAZ_Muh_Taz 這是我到目前爲止有:

`Scanner scan = new Scanner(System.in); 
    System.out.println("How many names would you like to enter?"); 
    int n= scan.nextInt(); //Ensures you take an integer 
    System.out.println("Enter the " + n + " names: ");            
    String[] names = new String[n]; 
// Store the names in an array 
    for (int i = 0; i < names.length; i=i+1){ 
     names[i] = scan.nextLine();} 
     List<String> AllNames; 
// Prints the names in a list 
     AllNames = new ArrayList<>(Arrays.asList(names)); 
     for(int i = 0; i < names.length; i = i + 2) { 
      System.out.print(names[i]); 
      if(i + 1 < names.length) 
      { 
     System.out.print(" " +"&"+ " " + names[i + 1]); 
     } 
    System.out.println(); 
    } 
     Random rand = new Random(); 
     Collections.shuffle(AllNames, rand); 
     scan.close(); 
}}` 

輸出我總是得到的是:

` & a 
b & c`