2016-11-22 57 views
-1

我這裏有我的Java代碼,目的是使輸出應該是這樣的: 問題NEL01L01A021問題NEL01L01A021英語2016年11月22日NEL01L01A021/NEL01L01A021-problem.txt我想使它更簡單

我已經做到了,但我想讓它更簡單。你能幫我麼? import java.util.ArrayList;

public class TestTabSeparator { 

String str; 
ArrayList<String> strings = new ArrayList<>(); 

TestTabSeparator(ArrayList<String> strings) { 
    this.strings = strings; 
} 

void showArrayList() { 

    for (int index = 0; index < this.strings.size(); index++) { 
     System.out.print(this.strings.get(index) + " "); 
    } 
} 
} 

其他類:

import java.util.Arrays; 
import java.util.ArrayList; 

public class TabSeparator { 

public static void main(String[] args) { 

    ArrayList<String> stringList = new ArrayList(); 

    String topicName = "problem"; 
    String title = "NEL01L01A021"; 
    String idTitle = "問題"; 
    String questionNo = "NEL01L01A021"; 
    String keyword = "英語"; 
    String comment = "11-22-2016"; 
    String bodyKey = "NEL01L01A021/NEL01L01A021-problem.txt"; 

    String[] str2 = new String[7]; 
    str2[0] = topicName; 
    str2[1] = title; 
    str2[2] = idTitle; 
    str2[3] = questionNo; 
    str2[4] = keyword; 
    str2[5] = comment; 
    str2[6] = bodyKey; 

    stringList.addAll(Arrays.asList(str2)); 
    TestTabSeparator strList = new TestTabSeparator(stringList); 
    strList.showArrayList(); 
} 
} 
+0

嘗試[代碼審查堆棧交易所(http://codereview.stackexchange.com/)。 –

+0

爲什麼不把它全部包裝在1字符串中? – XtremeBaumer

+0

您可以通過直接指定數組來跳過一些String聲明:'String [] str2 = {「problem」,「NEL01L01A021」,etc ...};' – Berger

回答

0

我有兩個建議。首先,您可以直接在您的變量上執行Arrays.asList,而不是先創建數組。

ArrayList<String> stringList = Arrays.asList(topicName, title, idTitle, questionNo, keyword, comment, bodyKey) 

第二個showArrayList方法可以使用String.join進行簡化。

void showArrayList() { 
    System.out.print(String.join(" ", strings)); 
} 
0

我這樣做的:

public class TestTabSeparator { 

    private ArrayList<String> strings = new ArrayList<>(); 

    private TestTabSeparator(ArrayList<String> strings) { 
     this.strings = strings; 
    } 
    private void showArrayList() { 
     strings.stream().forEach(s -> System.out.print(s+" ")); 
    } 
    public static void main(String[] args) { 

     String topicName = "problem"; 
     String title = "NEL01L01A021"; 
     String idTitle = "問題"; 
     String questionNo = "NEL01L01A021"; 
     String keyword = "英語"; 
     String comment = "11-22-2016"; 
     String bodyKey = "NEL01L01A021/NEL01L01A021-problem.txt"; 

     ArrayList stringList = new ArrayList(){{ 
      add(topicName); 
      add(title); 
      add(idTitle); 
      add(questionNo); 
      add(keyword); 
      add(comment); 
      add(bodyKey); 
     }}; 
     TestTabSeparator strList = new TestTabSeparator(stringList); 
     strList.showArrayList(); 
    } 
} 
+0

謝謝你!我能夠在java中發現新的字符串連接。就String而言,我認爲它在收集數據方面擊敗了ArrayList。 –

相關問題