Задать вопрос
@qweq123

Как получить элементы ArrayList в другом классе?

Как я могу получить проинициализированный ArrayList arrayList(или его элементы) класса Main в классе AreaTriangleTest?

код с классом Main:
public class Main {
    public static ArrayList<Integer> arrayList = new ArrayList<Integer>();
    public static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        public static void sc() throws IOException {

            for(int i=0; i < 1; i++){
                System.out.print("Enter a: ");
                arrayList.add(Integer.parseInt(reader.readLine()));
            }

            for(int i=1; i < 2; i++){
                System.out.print("Enter b: ");
                arrayList.add(Integer.parseInt(reader.readLine()));
            }

            for(int i=2; i < 3; i++){
                System.out.print("Enter c: ");
                arrayList.add(Integer.parseInt(reader.readLine()));
            }
        }

    public static int getArray() {

        for (Integer s : arrayList) {
            System.out.print(s);
        }
        System.out.println();
        System.out.println(arrayList.toArray().length);
    }
        public static void main (String[] args) throws IOException {
            sc();
            getArray();
            System.out.println(" s = " + new Main().areaOfATriangle());


        }

        public static int areaOfATriangle () {

            double p = (arrayList.get(0) + arrayList.get(1) + arrayList.get(2)) * 1 / 2;
            System.out.println(p);
            int s = (int) sqrt(p * (p - arrayList.get(0)) * (p - arrayList.get(1)) * (p - arrayList.get(2)));
            return s;

        }
    }


код с классом AreaTriangleTest:
public class AreaTriangleTest extends Main{

    @Test
     public  void positiveTriangleCheckTest() {
        System.out.println(arrayList.size());   //так выдает size = 0
        getArray();  //возвращает 0
        System.out.println(arrayList.get(0));  //возвращает 0
}
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Если в другом классе, то в Main надо было бы сделать метод-аксессор, но у вас не другой, у вас наследник, так что можно напрямую обращаться. Нули вы получаете потому, что JUnit запускает метод positiveTriangleCheckTest, а метод main никто не выполняет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы