@qweq123

Почему ArrayList пустой?

Почему arraylist пустой в методе sc() класса Main?
Как обратиться к элементам списка arraylist в методе positiveTriangleCheckTest()?

код с классом Main:
public class Main {
    public static int a;
    public static int b;
    public static int c;
    public static ArrayList arrayList = new ArrayList();

    public static void array() {
        arrayList.add(a);
        arrayList.add(b);
        arrayList.add(c);

    }

    public static void sc() {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a: ");
        a = sc.nextInt();
        System.out.print("Enter b: ");
        b = sc.nextInt();
        System.out.print("Enter c: ");
        c = sc.nextInt();

        System.out.println(arrayList);
    }

        public static void main (String[]args){
            Main me = new Main();
            me.sc();
            me.array();

            System.out.println(" s = " + new Main().areaOfATriangle());


        }

        public static int areaOfATriangle () {


            double p = (a + b + c) * 1 / 2;
            int s = (int) sqrt(p * (p - a) * (p - b) * (p - c));
            return s;

        }
    }


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

//    public int getValue(int arrayList) {
//
//        return Integer.parseInt(String.valueOf(arrayList));
//
//
//    }

    @Test
     public  void positiveTriangleCheckTest() {
        Main.sc();
        if (a + b > c & a + c > b & b + c > a)
        System.out.println("Треугольник существует");
        else
            System.out.println("Треугольник не существует");

    }
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
@My1Name
Почему arraylist пустой в методе sc() класса Main?

ArrayList нельзя вывести таким вот образом System.out.println(arrayList); Его нужно перебрать каким-нибудь итератором (например for), а для начала параметризировать, указав тип данных public static ArrayList <?> arrayList чтоб в него что-то положить. Поэтому он и пустой...

Как обратиться к элементам списка arraylist в методе positiveTriangleCheckTest()?

- По индексу. А учитывая, что у вас всего три переменные и вы не создаёте объект класса AreaTriangle, то вам и ArrayList не нужен. Можно обращаться прямо. У вас метод positive.. в классе с расширением extends Main :)
Ответ написан
compilator
@compilator
Senior Data Engineer
Смотрите внимательней по шагам что делает ваше приложение:
1. В методе sc вы получаете числа из консоли и печатаете их в консоль. Затем печатаете лист. Откуда в этот момент появятся элементы в листе если вы их туда не положили ?
2. В методе array() вы кладете элементы в лист, но после этого не печатаете его ибо уже сделали это ранее в методе sc.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы