Java 制作一个程序,根据用户的要求打印从x到y的数字
我是Java新手抱歉,我必须制作一个程序,在这个程序中,它会询问用户两个数字,从这两个数字中取可以除以3的间隔,然后求平均值 我只专注于让它打印所有的数字,因为我正试图一步一步地走 我试过两件事 在第一个代码中,它要求两个数字,但不打印任何内容Java 制作一个程序,根据用户的要求打印从x到y的数字,java,for-loop,java.util.scanner,Java,For Loop,Java.util.scanner,我是Java新手抱歉,我必须制作一个程序,在这个程序中,它会询问用户两个数字,从这两个数字中取可以除以3的间隔,然后求平均值 我只专注于让它打印所有的数字,因为我正试图一步一步地走 我试过两件事 在第一个代码中,它要求两个数字,但不打印任何内容 Scanner scanner = new Scanner (System.in); double b = scanner.nextDouble(); for ( double a = scanner.nextDouble() ; a <=
Scanner scanner = new Scanner (System.in);
double b = scanner.nextDouble();
for ( double a = scanner.nextDouble() ; a <= b; a++)
{
System.out.println(a);
}
Scanner Scanner=新的扫描仪(System.in);
double b=scanner.nextDouble();
对于(double a=scanner.nextDouble();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);
}
}
-或-
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);
}
}
您需要使用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);
}
}
-或-
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);
}
}
我建议使用int而不是double。我使用double是因为有些输出可能是分数(因为它必须被3除,然后对所有的分数进行平均)。你没有说上面关于分数的任何内容。至于检查除以3的情况,使用int比使用double更容易。int I=n;如果(i%3==0){…}
很抱歉,我认为这不相关,我将在第二个示例中更改它,您要求三个数字(调用scanner.nextDouble()三次),但您只有两个变量(a和b)。您分配了两次a。我建议使用int而不是double。我使用double是因为某些输出可能是分数(因为它必须除以3,然后对所有的分数进行平均)你没有说任何关于上面的分数的事。至于检查除以3,用int比用double更容易。inti=n;如果(i%3==0){…}
很抱歉,我没有想到这会有关系,我将在第二个示例中更改它,您要求三个数字(调用scanner.nextDouble()三次),但您只有两个变量(a和b)。您分配了两次a。
2
10
3.0
6.0
9.0
Average: 6.0