2016-11-22 4 views
-1

я здесь мой код Java, что цель состоит в том, что результат должен выглядеть следующим образом: проблемы NEL01L01A021 問題 NEL01L01A021 Английский 11-22-2016 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

Try [Код Обзор Stack Обмен] (http://codereview.stackexchange.com/). –

+0

Почему бы не упаковать все это в 1 строку? – XtremeBaumer

+0

Вы можете пропустить некоторые объявления String, назначив свой массив напрямую: 'String [] str2 = {" problem "," NEL01L01A021 "и т. Д.};' – 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, объединение строк. Я думаю, что он победил ArrayList с точки зрения сбора данных, поскольку String вызывает беспокойство. –

Смежные вопросы