Java 从用户输入中查找最小数目
我很困惑为什么这不起作用,希望能得到一些帮助:Java 从用户输入中查找最小数目,java,Java,我很困惑为什么这不起作用,希望能得到一些帮助: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int min = Integer.MAX_VALUE; System.out.println("Enter a number");
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int min = Integer.MAX_VALUE;
System.out.println("Enter a number");
int input = in.nextInt();
while(in.hasNextInt()){
if(input < min){
min=input;
}
}
in.close();
System.out.println(min);
}
}
import java.util.Scanner;
公共班机
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
int min=整数最大值;
System.out.println(“输入一个数字”);
int input=in.nextInt();
while(在.hasNextInt()中){
如果(输入<分钟){
最小值=输入;
}
}
in.close();
系统输出打印项次(最小值);
}
}
当我输入除int以外的其他值时,循环不会因为某种原因而结束
因为它正在等待下一个整数,并且将永远保持读取。一种解决方案是使用getline()并将返回的字符串解析为整数。如果转换失败,您将不得不处理它。如果返回长度为0的字符串,则退出。解决方案是使用
.next()
并使用try catch
从中解析int
:
while (in.hasNext() {
String input = in.next();
try {
int printInt = Integer.parseInt(input);
System.out.println(printInt);
} catch () {}
}
此外,我认为您忘记在
while
循环中调用in.nextInt()
。今天早些时候这里的确切问题是:感谢您的帮助,似乎包含了in.next();在循环内部修复了它修复了它。。。