【发布时间】:2021-03-17 15:44:37
【问题描述】:
我是java新手。
当我尝试为这个程序输入值时,我得到了
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at SugarSmashPlayer.get(Game.java:10)
at Game.main(Game.java:44)
我不知道为什么会这样。我的猜测是我在字符串声明或输入法上做错了。你能帮我吗。如果我用输入行声明字符串数据类型,程序不会显示错误。但我想用类在上面声明它,而不是在构造函数中。
import java.util.*; class SugarSmashPlayer{ Scanner in=new Scanner(System.in); int id;int n=0;String name; int[] arr=new int[40]; void get(){ id=in.nextInt(); name=in.nextLine(); for(int i=0;i<10;){ arr[i]=in.nextInt(); n++; if(arr[i]>=100){i++;} else {i=11;} } } void set(){ System.out.println(id+" "+name+" "); for(int i=0;i<n;i++){System.out.println(arr[i]+" "); } } } class PremiumSugarSmashPlayer extends SugarSmashPlayer{ void get1(){n=0; id=in.nextInt(); name=in.nextLine(); for(int i=0;i<40;){ arr[i]=in.nextInt(); n++; if(arr[i]>=100){i++;} else i=40;} } void set1(){ System.out.println(id+" "+name+" "); for(int i=0;i<n;i++){System.out.println(arr[i]+" "); } } } public class Game{ public static void main(String[] args){ SugarSmashPlayer box=new SugarSmashPlayer(); PremiumSugarSmashPlayer box1=new PremiumSugarSmashPlayer(); box.get(); box.set(); box1.get1(); box1.set1(); } }
【问题讨论】:
-
请格式化代码并提及发生异常的行
-
嗨。感谢回复。对不起,我是stackoverflow的新手。不知道如何格式化代码。如果我给 abc 这是 name 变量的字符串输入,则会发生错误。
标签: java class inheritance