Создание программы, которая печатает числа от x до y в зависимости от того, что спрашивает пользователь - PullRequest
1 голос
/ 02 августа 2020

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

Я сосредоточился только на том, чтобы заставить его печатать все числа, так как я пытаюсь go шаг за шагом.

Я пробовал две вещи

На этом первый код он запрашивает оба числа, но ничего не печатает

Scanner scanner = new Scanner (System.in);

double b = scanner.nextDouble();
  
for ( double a = scanner.nextDouble() ; a <= b; a++)
{
    System.out.println(a);
}

В этом втором коде он запрашивает 3 ввода и обычно печатает l oop, если последний ввод равен первому, Думаю, я понимаю, почему это происходит, но не знаю, как это исправить:

    Scanner scanner = new Scanner (System.in);
    
    double a = scanner.nextDouble();
    double b = scanner.nextDouble();
  
    for ( a = scanner.nextDouble() ; a <= b; a++)
    {
        System.out.println(a);
    }

1 Ответ

0 голосов
/ 02 августа 2020

Вам необходимо инициализировать счетчик l oop значением a и выполнить итерацию l oop до значения b, как показано ниже:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int count = 0;
        double sum = 0;
        for (int i = a; i <= b; i++) {
            if (i % 3 == 0) {
                System.out.println(i);
                sum += i;
                count++;
            }
        }
        System.out.println("Average: " + sum / count);
    }
}

Пробный прогон:

2
10
3
6
9
Average: 6.0

-ИЛИ-

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        int count = 0;
        double sum = 0;
        for (double i = a; i <= b; i++) {
            if (i % 3 == 0) {
                System.out.println(i);
                sum += i;
                count++;
            }
        }
        System.out.println("Average: " + sum / count);
    }
}

Пробный прогон:

2
10
3.0
6.0
9.0
Average: 6.0
...