Поскольку вы не используете static ArrayList<String> information_one_iteration = new ArrayList<String>();
где-либо, кроме метода запуска, вы можете удалить его.
Я изменил переменную random
, так как это возможно для нескольких объектов, чтобы разделить ее - поведение остается тем же, поэтому нет необходимости инициализировать каждый раз, когда создается главный объект.
Измените метод решения, чтобы он также принимал ArrayList в качестве параметра.
print_information выглядит хорошо, но нет необходимости в ArrayList<String> list_set = newLine;
Я также сделал information
переменной состояния над статической переменной, чтобы каждый экземпляр объекта мог иметь свою собственную информацию, что позволяет запускать несколько экземпляров этого класса.
Я также добавил лямбду, чтобы распечатать членов, чтобы дать вам представление о них newLine.forEach(data -> System.out.println(data + " "));
.
Наконец, я использовал имена переменных и классов, которые соответствуют соглашениям о кодировании Java для лучшей читаемости. Вот одно из руководств по стилю, которым вы можете следовать https://google.github.io/styleguide/javaguide.html
Уточненная версия вашего кода ниже
package com.company;
import java.util.ArrayList;
import java.util.Random;
public class Main {
private static Random random = new Random();
private ArrayList<ArrayList<String>> information = new ArrayList<>();
private void run() {
for (int i=0; i<10; i++) {
ArrayList<String> informationInIteration = new ArrayList<>();
informationInIteration.add(String.valueOf(i));
solve(informationInIteration); // add two random number generated in function solve()
information.add(informationInIteration);
}
printInformation();
}
private void solve(ArrayList<String> iterationInformation) {
iterationInformation.add(String.valueOf(random.nextInt()));
iterationInformation.add(String.valueOf(random.nextInt()));
}
private void printInformation() {
for (ArrayList<String> newLine : information) {
System.out.println();
newLine.forEach(data -> System.out.println(data + " "));
System.out.println();
}
System.out.println();
}
public static void main(String[] args) {
Main main = new Main();
main.run();
}
}
На основе ваших комментариев я добавляю метод, который не создает объекта для хранения какой-либо информации.
пакет com.company;
import java.util.Random;
public class Main {
private Random random = new Random();
private void run() {
for (int i=0; i<10; i++) {
System.out.println(String.valueOf(i));
System.out.println(random.nextInt() + " " + random.nextInt() + "\n");
}
}
public static void main(String[] args) {
Main main = new Main();
main.run();
}
}