Как сложить вычисленные результаты в цикл

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

import java.util.Scanner;        

public class packaging {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    double l = 0;
    double w = 0;
    double h = 0;

    Scanner in = new Scanner(System.in);

    System.out.println("Enter the Lenght");
    l = in.nextDouble();
    System.out.println("Enter the Lenght");
    w = in.nextDouble();
    System.out.println("Enter the Lenght");
    h = in.nextDouble();



    while (l>=5 && w>=5 && h>=5) {

        surfaceArea = 2*(l*w + w*h + l*h);
        boxCount = boxCount + 1;

    }

}        

Я пытаюсь показать каждый результат каждый раз, когда цикл покажет цикл. Если я введу длину 120, ширину 60 и высоту 40, я хочу, чтобы результаты распечатывались каждый раз, когда длина, ширина и высота минусуются от исходного введенного числа, означая, что числа станут 110 50 и 30, но я все еще хочу, чтобы результаты пришли из петель и быть напечатанным. Кто-нибудь знает, как я поступил бы по этому поводу?

Всего 2 ответа


Просто переместите операторы print в тело цикла.

while(...) {
  ...
  System.out.println("The box count is "+ boxCount);
  System.out.println("The surface Area is "+ surfaceArea); 
}

Предполагая, что вы хотите, это то, что я думаю, вы хотите,

import java.util.Scanner;

public class packaging {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    double l = 0;
    double w = 0;
    double h = 0;
    double boxCount = 0;
    double surfaceArea = 0;
    Scanner in = new Scanner(System.in);

    System.out.println("Enter the Lenght");
    l = in.nextDouble();
    System.out.println("Enter the Lenght");
    w = in.nextDouble();
    System.out.println("Enter the Lenght");
    h = in.nextDouble();



    while (l>=5 && w>=5 && h>=5) {

        surfaceArea = 2*(l*w + w*h + l*h);

        boxCount = boxCount + 1;
        l = l - 10;
        w = w - 10;
        h = h - 10;

        System.out.println("The box count is "+ boxCount);
        System.out.println("The surface Area is "+ surfaceArea);
    }
    in.close();
}

Пример вывода

Enter Length
15
Enter Length
20
Enter Length
30
The Box count is 1
The Surface Area is [CALCULATED_VALUE]
The Box count is 2
The Surface Area is [CALCULATED_VALUE]
The Box count is 3
The Surface Area is [CALCULATED_VALUE]

Это будет печатать boxCount и surfaceArea при каждом запуске цикла. Надеюсь, что это то, что вы хотите, если нет, пожалуйста, добавьте больше информации, и я был бы рад помочь.


Есть идеи?

10000