Java 而循环和困难
我是Java的初学者,对我正在做的作业有一个问题 我试图读取整数输入序列并打印出最大和最小的数字。虽然我已经编写了代码,但问题是当我运行它时,它不会打印最大或最小的数字。代码似乎是正确的,尽管它不是!任何帮助都将不胜感激Java 而循环和困难,java,while-loop,Java,While Loop,我是Java的初学者,对我正在做的作业有一个问题 我试图读取整数输入序列并打印出最大和最小的数字。虽然我已经编写了代码,但问题是当我运行它时,它不会打印最大或最小的数字。代码似乎是正确的,尽管它不是!任何帮助都将不胜感激 import java.util.Scanner; public class Practice { public static void main(String[] args) { Scanner in = new Scanner(System.in)
import java.util.Scanner;
public class Practice {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter integers: ");
int largest = in.nextInt();
int smallest = largest;
while (in.hasNextInt()) {
int input = in.nextInt();
if (input > largest) {
largest = input;
} else if (input < smallest) {
smallest = input;
}
System.out.println();
}
System.out.println(largest);
System.out.println(smallest);
}
}
import java.util.Scanner;
公共课堂实践{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“输入整数:”);
int最大=in.nextInt();
int最小=最大;
while(在.hasNextInt()中){
int input=in.nextInt();
如果(输入>最大值){
最大=输入;
}else if(输入<最小值){
最小=输入;
}
System.out.println();
}
系统输出打印项次(最大);
系统输出打印项次(最小);
}
}
要停止等待输入,请执行以下操作:
输入一个字符作为输入:在.hasNextInt()中返回False您的代码将不会停止接受数字,直到它获得数字以外的内容 就像字母一样。输入字母字符或保留某些内容作为终止符
比如输入-99退出或其他什么。阅读代码时,我会说您希望用户输入一组以空格分隔的数字(扫描仪选择的默认分隔符) 扫描仪将循环分析输入。 现在您需要决定退出的条件,并使代码更安全。
当我说让你的视频点播更安全的时候,我的意思是在你的代码周围放一个尝试捕捉,以防用户不写数字。此外,您应该在最后关闭扫描仪。 如果你写了下面的代码,那么每当你写一封信的时候,这个循环就被打破了。例如,1 2 4 6 A将打印2和6。把它当作一个建议,做一点运动。事实上您仍然需要保护第一个nextInt,实际上,如果您不以数字开头,并且理想情况下决定一个退出字符来处理其他异常,那么它可能引发异常。但这些都是实施细节。如果您以数字开头,以不同于数字的字符结尾,下面的代码将起作用
import java.util.Scanner;
public class Practise {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter integers: ");
int largest = in.nextInt();
int smallest = largest;
try {
while (in.hasNextInt()||in.hasNext()) {
int input = in.nextInt();
if (input > largest) {
largest = input;
} else if (input < smallest) {
smallest = input;
}
System.out.println("Computing "+input);
}
System.out.println(largest);
System.out.println(smallest);
} catch (Exception ex) {
System.out.print("Exception caught: " + ex);
} finally {
in.close();
}
}
}
import java.util.Scanner;
公开课实习{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.print(“输入整数:”);
int最大=in.nextInt();
int最小=最大;
试一试{
while(in.hasNextInt()| | in.hasNext()){
int input=in.nextInt();
如果(输入>最大值){
最大=输入;
}else if(输入<最小值){
最小=输入;
}
System.out.println(“计算”+输入);
}
系统输出打印项次(最大);
系统输出打印项次(最小);
}捕获(例外情况除外){
系统输出打印(“捕获异常:+ex”);
}最后{
in.close();
}
}
}
您是如何运行该应用程序的?您是否将文件作为输入?请发布您输入的编号顺序否,我要求人们输入输入。在他们输入输入后,我想打印出他们输入的最大和最小的数字。可能当用户键入一段特定的文本(如“退出”)或其他内容时,它应该停止。如果您以某种方式得到in.hasNextInt返回false,则此代码应该可以工作。+1因为这是一个快速解决您已有问题的方法。但是,我相信,通过添加quit命令,您可以改进您的程序。