Как добавить больше переменных внутри циклов Java - PullRequest
0 голосов
/ 12 сентября 2018

Количество компьютеров каждого отдела хранится в переменных.Попросите программу сохранить значения в переменных, вычислить общее и среднее количество компьютеров и отобразить их.

Пример вывода: Химия: 4 Физика: 8 Музыка: 2 Математическая лаборатория: 12

Всего: 26Среднее значение: 6,5

import java.util.Scanner;

class Main {
  public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    System.out.print("What is the name of your first class?");
    String class1 = sc.nextLine();

    System.out.print("What is the name of your second class?");
    String class2 = sc.nextLine();

    System.out.print("What is the name of your third class?");
    String class3 = sc.nextLine();

    System.out.print("What is the name of your fourth class?");
    String class4 = sc.nextLine();

    System.out.print(" \n\n");
    System.out.println("How many computers are in each class?");
    System.out.print(class1 + ": \t");
    int class1comp = sc.nextInt();
    System.out.print(class2 + ": \t");
    int class2comp = sc.nextInt();
    System.out.print(class3 + ": \t");
    int class3comp = sc.nextInt();
    System.out.print(class4 + ": \t");
    int class4comp = sc.nextInt();
    int sum = class1comp + class2comp + class3comp + class4comp;
    double avg = sum / 4.0;

    System.out.print(" \n\n");

    System.out.println("\n\n" + class1 + ":\t" + class1comp);
    System.out.println(class2 + ":\t" + class2comp);
    System.out.println(class3 + ":\t" + class3comp);
    System.out.println(class4 + ":\t" + class4comp);

    System.out.println("\n");
    System.out.println("Total:\t\t" + sum);
    System.out.println("Average:\t" + avg);
  }
}

После блока 2: разрешить пользователю добавлять больше отделов.

Я хочу, чтобы пользователь мог добавлять другие классы, пока он не скажет "Стоп".Затем спросите, сколько компьютеров нужно каждому классу.Затем отобразите их, добавьте их к сумме и средней.

1 Ответ

0 голосов
/ 12 сентября 2018

Это должно работать для ваших целей, оно использует ArrayList для имен классов и массив целых чисел для оценок.Он использует метод AddOrdinal, взятый из этого ответа .

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    ArrayList<String> stringList = new ArrayList<>();
    String capture;
    int count =1;
    System.out.println("Please enter your "+AddOrdinal(count) +" class:");
    while (!((capture = scan.nextLine()).toLowerCase().equals("stop"))) {
        count++;
        stringList.add(capture);
        System.out.println("Please enter your "+AddOrdinal(count) +" class:");
    }
    System.out.println("How many computers are in each class?");
    int[] intList = new int[stringList.size()];
    for (int i = 0; i < stringList.size(); i++) {
        String className = stringList.get(i);
        System.out.println(className + "\t:");
        intList[i] = (scan.nextInt());
    }
    scan.close();
    Arrays.stream(intList).sum();
    int sum = Arrays.stream(intList).sum();
    double average = (double)sum/intList.length;
    /*
     Output goes here
    */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...