Как создавать объекты из readLine, пока вы не достигнете «END» - PullRequest
0 голосов
/ 31 марта 2020
private static final String END = "";
    public static void main(String[] args) throws Exception,IOException{
        try {
        String line=null;
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String pizzaInfo[]=line.split(" ");
        String pizzaName=pizzaInfo[1];
        String doughInfo[]=line.split(" ");
        Dough dough=new Dough(doughInfo[1],doughInfo[2],Double.parseDouble(doughInfo[3]));
        Pizza pizza=new Pizza(pizzaName,dough);
        String toppingInfo[]=line.split(" ");
        while(!toppingInfo.equals("END")) {
            Topping newt=new Topping(toppingInfo[1],Double.parseDouble(toppingInfo[2]));
            pizza.addTopping(newt);
        }
        System.out.println(pizza.getName()+"  "+ pizza.calcTotalCalories());
        }catch(Exception e) {
            System.out.println(e);
        }

Так что моя проблема в том, что выводом этого является "java .lang.NullPointerException". Ввод должен быть: Пицца без мяса 2 Тесто цельнозерновое хрустящее 100 Топпинг веги 90 Топпинг-сыр 50 END И вывод, например: без мяса -370,00 Подводя итог, у меня есть 3 класса: 1. Пицца (Струнное имя, Лист, Тесто из теста) 2. Тесто (Струнная мука, Струнная выпечка, двойной вес) 3. Топпинг (тип String, двойной вес). Я дал типы и калории, и моя программа должна напечатать в этой основной функции тип и калории (как я показываю в выводе). Пицца и тесто должны быть написаны только на одной строке, тогда как начинки могут быть небольшими (каждая начинка находится на отдельной строке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...