Rebel-Cat
@Rebel-Cat

Как заполнить ArrayList массив, методом scanner, из другого класса (java)?

Много чего перепробовал методом тыка и этот вариант самый нормальный, но опять же совсем не то что нужно. Цель такая - заполнить массив ArrayList методом из 2 класса и произвести вычисление суммы массива. В конце просто выдать при вводе Stop сумму(соответственно поток должен прерваться.
System.out.println(sum +" $");

1 Класс

import static com.company.Scanner1.input;
import  java.util.ArrayList;
import java.lang.Double;
import java.lang.String;
public class Main {
    public static void main(String[] args) {

        ArrayList<String> Dollars1 = new ArrayList<String>();
        while (true) {
            String hjk = input();
            Dollars1.add(hjk);
                if (hjk.equals("Stop")){
                    System.out.println("HotGrays");
                    System.out.println("You chek: ");
            continue;}
                double[] doubleList = new double[Dollars1.size()];
                double sum = 0;
                for (int i = 0; i < Dollars1.size(); ++i) {
                    doubleList[i] = Double.parseDouble(Dollars1.get(i));
                    sum += doubleList[i];
                }
System.out.println(sum +" $");

            }

        }
    }


2 класс сканер

import java.util.Scanner;
import  java.util.NoSuchElementException;

class Scanner1 {
    static String input() {
            try {
                return new Scanner(System.in).nextLine();
            } catch (NoSuchElementException e) {
                throw e;

        }
    }
}


Это другой вариант Сканера

/*
import java.util.Scanner;
 class Scanner1 {
    public static String input() {
        Scanner sum = new Scanner(System.in);
        String b = null;
        while (true) {
            System.out.print("ItemCode: ");
            String s = sum.nextLine();
            if (s.equals("Stop")) {
                break;
            }
            b = s;
        }
        return b;
    }
}*/
  • Вопрос задан
  • 3039 просмотров
Решения вопроса 1
@nalie
Java разработчик
Это условие задачи, сделать так заморочено, или Ваш подход? Может просто?
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double sum = 0.0;
        while (scanner.hasNextDouble()) {
            sum += scanner.nextDouble();
        }
        System.out.println(sum);
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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