制作一个程序,根据用户的要求打印从 x 到 y 的数字

Making a program that prints from x to y numbers depending on what the user asks

我是新手 Java 抱歉,我必须编写这个程序,它会询问用户两个数字,从这两个数字中取出可以被 3 除的间隔,然后生成一个他们的平均值。

我只是专注于让它打印所有数字,因为我正在尝试逐步进行。

我试过两件事

在第一个代码中,它要求输入两个数字但不打印任何内容

Scanner scanner = new Scanner (System.in);

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

在第二个代码中,它要求 3 个输入,如果最后一个输入等于第一个输入,它会正常打印循环,我想我明白为什么会这样,但我不知道如何修复它:

    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);
    }

您需要用 a 的值初始化循环计数器并使循环迭代直到 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