Java 如何防止程序在用户每次输入数字时要求用户输入数字?
当我运行代码时,当用户输入一个数字,并希望输入另一个数字时,每次都会弹出此窗口,请输入一个介于0和100之间的值,或-1退出: 例如: 请输入一个介于0和100之间的值,或输入-1退出: 100 请输入一个介于0和100之间的值,或输入-1退出: 0 请输入一个介于0和100之间的值,或输入-1退出: -1 平均值为:50.0 最大值为:100.0 最小值为:0.0 我希望能够让用户输入一个enter列表,而不使用此选项。请输入一个介于0和100之间的值,或-1退出:每次弹出 例如: 100 0 -1 平均值为:50.0 最大值为:100.0 最小值为:0.0 请帮帮我。Java 如何防止程序在用户每次输入数字时要求用户输入数字?,java,java.util.scanner,Java,Java.util.scanner,当我运行代码时,当用户输入一个数字,并希望输入另一个数字时,每次都会弹出此窗口,请输入一个介于0和100之间的值,或-1退出: 例如: 请输入一个介于0和100之间的值,或输入-1退出: 100 请输入一个介于0和100之间的值,或输入-1退出: 0 请输入一个介于0和100之间的值,或输入-1退出: -1 平均值为:50.0 最大值为:100.0 最小值为:0.0 我希望能够让用户输入一个enter列表,而不使用此选项。请输入一个介于0和100之间的值,或-1退出:每次弹出 例如: 100 0
编程新手只需删除第一个while循环中打印该消息的行,该行位于输入之前的第一个while循环末尾。更改循环样式,使用do while循环而不是while循环 基本上,您希望至少进入循环一次,例如
import java.util.Scanner;
public class AverageMaxMin
{
@SuppressWarnings("resource")
public static void main(String[] arg)
{
int count = 0;
double sum = 0;
double maxium = 0;
double minium = 100;
Scanner kb = new Scanner(System.in);
System.out.println("Please enter a value between 0 and 100, or -1 to quit: ");
double input = kb.nextDouble();
while (input != -1)
{
while ((input > 100) || (input <= -1))
{
System.out.println(" Invalid! Please enter a value between 0 and 100, -1 to show the result: ");
input = kb.nextDouble();
}
count++;
sum += input;
if (maxium < input)
{
maxium = input;
}
if (minium > input)
{
minium = input;
}
System.out.println("Please enter a value between 0 and 100, or -1 to quit: ");
input = kb.nextDouble();
}
double average = (sum / count);
System.out.println("The average is: " + average);
System.out.println("The maxium is: " + maxium);
System.out.println("The minium is: " + minium);
}
}
import java.util.Scanner;
public class Test {
@SuppressWarnings("resource")
public static void main(String[] arg) {
int count = 0;
double sum = 0;
double maxium = 0;
double minium = 100;
Scanner kb = new Scanner(System.in);
double input = -1;
// Main processing loop...
do {
// Validation loop...
do {
System.out.println("Please enter a value between 0 and 100, or -1 to quit: ");
input = kb.nextDouble();
kb.nextLine();
} while (input > 100);
if (input > -1) {
count++;
sum += input;
if (maxium < input) {
maxium = input;
}
if (minium > input) {
minium = input;
}
}
} while (input != -1);
double average = (sum / count);
System.out.println(
"The average is: " + average);
System.out.println(
"The maxium is: " + maxium);
System.out.println(
"The minium is: " + minium);
}
}
这确实使用了两个循环,您可以将其减少为一个,并忽略任何超出范围的值,例如
import java.util.Scanner;
public class AverageMaxMin
{
@SuppressWarnings("resource")
public static void main(String[] arg)
{
int count = 0;
double sum = 0;
double maxium = 0;
double minium = 100;
Scanner kb = new Scanner(System.in);
System.out.println("Please enter a value between 0 and 100, or -1 to quit: ");
double input = kb.nextDouble();
while (input != -1)
{
while ((input > 100) || (input <= -1))
{
System.out.println(" Invalid! Please enter a value between 0 and 100, -1 to show the result: ");
input = kb.nextDouble();
}
count++;
sum += input;
if (maxium < input)
{
maxium = input;
}
if (minium > input)
{
minium = input;
}
System.out.println("Please enter a value between 0 and 100, or -1 to quit: ");
input = kb.nextDouble();
}
double average = (sum / count);
System.out.println("The average is: " + average);
System.out.println("The maxium is: " + maxium);
System.out.println("The minium is: " + minium);
}
}
import java.util.Scanner;
public class Test {
@SuppressWarnings("resource")
public static void main(String[] arg) {
int count = 0;
double sum = 0;
double maxium = 0;
double minium = 100;
Scanner kb = new Scanner(System.in);
double input = -1;
// Main processing loop...
do {
// Validation loop...
do {
System.out.println("Please enter a value between 0 and 100, or -1 to quit: ");
input = kb.nextDouble();
kb.nextLine();
} while (input > 100);
if (input > -1) {
count++;
sum += input;
if (maxium < input) {
maxium = input;
}
if (minium > input) {
minium = input;
}
}
} while (input != -1);
double average = (sum / count);
System.out.println(
"The average is: " + average);
System.out.println(
"The maxium is: " + maxium);
System.out.println(
"The minium is: " + minium);
}
}
你认为System.out.println是做什么的?他说他不想每次都打印消息。这就是我的答案。我没有输入代码,因为我正在使用android应用程序,我不知道是否可以。但我本可以说得更清楚。