如何从Java中的扫描仪读取不同的输入?
我需要获得各种积分输入,然后当输入如何从Java中的扫描仪读取不同的输入?,java,loops,java.util.scanner,Java,Loops,Java.util.scanner,我需要获得各种积分输入,然后当输入-1时,程序应显示最大值、最小值、所有输入值的总和、所有输入值的数量以及所有输入值的平均值。我已经开始了一个循环来获取各种输入,但找不到合适的方法来读取它们,然后再使用它们。我在互联网上到处搜索 import java.util.Scanner; public class Exercise16 { public static void main(String[] args) { Scanner s = new Scanner(Syst
-1
时,程序应显示最大值、最小值、所有输入值的总和、所有输入值的数量以及所有输入值的平均值。我已经开始了一个循环来获取各种输入,但找不到合适的方法来读取它们,然后再使用它们。我在互联网上到处搜索
import java.util.Scanner;
public class Exercise16 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Please enter a Positive integer or -1 to quit.");
while (!s.nextLine().equals("-1")) {
System.out.println("Please enter a Positive integer or -1 to quit.");
}
}
}
s.nextLine()
读取您的输入
您应该将其保存到变量中
还使用do while防止复制的打印语句
Scanner s = new Scanner(System.in);
String in; // where to save next input value
do {
System.out.println("Please enter a Positive integer or -1 to quit.");
in = s.nextLine();
// TODO: parseInt, check for positive number
} while (!in.equals("-1"));
如果要跟踪最小值和最大值,则需要另外两个整数值
如果你想追踪平均值,你需要一个列表
祝您好运如果您不习惯在同一行中读取多个整数值,您可以使用s.nextInt()每次读取一个整数值您首先需要从命令行读取整数。为此,你必须使用
s.nextInt();
一旦你得到这个,你必须得到最大和最小的数字,你可以用2个变量得到它们
对于平均值,您可以存储用户请求输入的总和和次数,再存储2个变量。不需要将元素存储在列表或其他存储中
如果您想查看输入的数字,则必须存储其他数字,而不必存储
储存使用:
List<Integer> numbers = new ArrayList<Integer>();
List number=new ArrayList();
对于添加编号,您可以使用列表的添加方法
public static void main2() {
Integer laregst = Integer.MIN_VALUE;
Integer smallest = Integer.MAX_VALUE;
Integer sum = 0;
Integer count =0 ;
Scanner s = new Scanner(System.in);
int temp = s.nextInt();
while (temp != -1) {
if(temp > laregst){
laregst = temp;
}
if(temp < smallest){
smallest = temp;
}
sum += temp;
count += 1;
System.out.println("Please enter a Positive integer or -1 to quit.");
temp = s.nextInt();
}
System.out.println("Largest : "+(count == 0?"NA":laregst)+" Smallest : "+(count == 0?"NA":smallest)+" Mean : "+(count == 0 ? "NA" : ((sum *1.0/count))));
}
publicstaticvoidmain2(){
整数laregst=整数.MIN_值;
最小整数=整数的最大值;
整数和=0;
整数计数=0;
扫描仪s=新的扫描仪(System.in);
int temp=s.nextInt();
而(温度!=-1){
如果(温度>最大值){
laregst=温度;
}
如果(温度<最小值){
最小值=温度;
}
总和+=温度;
计数+=1;
System.out.println(“请输入一个正整数或-1退出”);
temp=s.nextInt();
}
System.out.println(“最大:”+(计数=0?“NA”:最大值)+“最小值:”+(计数=0?“NA”:最小值)+“平均值:”+(计数=0?“NA”:(总和*1.0/计数)));
}
所以这不是一个“做作业”的地方。但请考虑实际存储用户输入的字符串(ArrayList?)。使用s.nextInt()并跟踪输入的每个数字[最大、最小和平均值]。如果我记得正确的话,还有一个al.so.nextInt()
和.nextDouble()
等等,用于所有基本数据类型,这些基本数据类型可以将您的数据整齐地解析为此类格式,或者等待您为该数据类型使用正确的格式。有,但对于初学者,他们没有意识到在使用上述方法时不会使用换行符