我最近开始学习java
我的问题是如果我使用static Scanner read= new Scanner(System.in);
,当我输入s1
值非整数时,我收到此错误:
此行中线程“main”java.util.InputMismatchException中的异常:
a = oku.nextInt();在goster()方法中。
当我删除static Scanner read= new Scanner(System.in);
并激活goster()方法中的注释行时,一切正常。
当我使用导致我的代码失败的静态时会发生什么变化?
public static void main(String[] args) {
while (check)
{
goster();
try
{
hatali=false;
System.out.print("1. sayi: ");
s1 = read.nextDouble();
System.out.print("2. sayi: ");
s2 = read.nextDouble();
} catch (Exception e)
{
System.out.println("HATALI SAYI GİRİŞİ!");
hatali=true;
}
if(hatali==false)
{
menu(a, s1, s2);
}
}
public static void goster() {
//Scanner read= new Scanner(System.in);
System.out.println("");
System.out.println("1- a+b");
System.out.println("2- a-b");
System.out.println("3- a*b");
System.out.println("4- a/b");
System.out.println("5- a%b");
System.out.println("6- a^b");
System.out.println("7- cikis");
System.out.print("seciminiz 1-7: ");
a = read.nextInt();
}
答案 0 :(得分:0)
nextInt()用于“将输入的下一个标记扫描为int”。如果您希望输入是通用类型,则为nextByte()。