我正在通过编写以下代码使用java扫描仪进行输入:
import java.util.Scanner;
class main{
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
System.out.println("Enter number");
int i=scan.nextInt();
}
}
但上面的代码抛出以下异常:
Enter number
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at main.main(main.java:7)
Tool completed with exit code 1
答案 0 :(得分:1)
import java.util.Scanner;
class Input {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); System.out.print("Enter an integer: ");
int number = input.nextInt();
System.out.println("You entered " + number);
}
}
尝试此代码.....
在此创建Scanner类的输入对象。然后,使用Scanner类的nextInt()方法从用户那里获取整数输入。
要从用户处获取long,float,double和String输入,可以分别使用nextLong(),nextFloat(),nextDouble()和next()方法。
答案 1 :(得分:0)
您快到了。请注意,您需要 int 值,如果用户输入例如字符串,那么您会得到一个异常。
public static int askIntNumber(Scanner scan) {
while(true) {
try {
System.out.print("Enter number: ");
return scan.nextInt();
} catch (Exception e) {
System.err.println("This is not an integer number");
}
}
答案 2 :(得分:0)
您应该尝试以下操作:
import java.util.Scanner;
public class main {
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter number: ");
int i=sc.nextInt();
}
}
代码块sc.nextInt
扫描整个输入,然后将其投入使用。这应该可以解决您的问题。