qq_35168308 2016-06-01 00:41 采纳率: 0%
浏览 1538
已采纳

java程序运行有错误,找不到原因

我编这个程序是想从键盘键入5个学生的姓名,学号,还有两门课程以及两门课程的成绩,但是我才输入了两个就报错了,而且我想要输出后的结果好看一点,该怎么弄啊?代码和运行结果如下所示:

package 学生成绩管理;

public class Student
{
String sname;
long sno;
String cname1;
String cname2;
int score1;
int score2;
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public long getSno() {
return sno;
}
public void setSno(long sno) {
this.sno = sno;
}
public String getCname1() {
return cname1;
}
public void setCname1(String cname1) {
this.cname1 = cname1;
}
public String getCname2() {
return cname2;
}
public void setCname2(String cname2) {
this.cname2 = cname2;
}
public int getScore1() {
return score1;
}
public void setScore1(int score1) {
this.score1 = score1;
}
public int getScore2() {
return score2;
}
public void setScore2(int score2) {
this.score2 = score2;
}
}
package 学生成绩管理;
import java.util.*;

public class test
{
public static void main(String[] args)
{
System.out.println("姓名"+" "+"学号"+" "+"高数"+" "+"物理");
Student[] stu;
stu=new Student[5];
for(int i=0;i<5;i++)
{
stu[i]=new Student();
stu[i].sname=(new Scanner(System.in).next());
stu[i].sno=(new Scanner(System.in).nextLong());
stu[i].cname1=(new Scanner(System.in).next());
stu[i].cname2=(new Scanner(System.in).next());
stu[i].score1=(new Scanner(System.in).nextInt());
stu[i].score2=(new Scanner(System.in).nextInt());
System.out.println(stu[i].getSname()+"\t"+stu[i].getSno()+"\t"+stu[i].getScore1()+"\t"+stu[i].getScore2()+"\t");
}
}
}

运行结果:
姓名 学号 高数 物理
马叶 2014211401 76 74
张三 2014211405 90 84
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.nextLong(Scanner.java:2222)
at java.util.Scanner.nextLong(Scanner.java:2182)
at 学生成绩管理.test.main(test.java:15)

  • 写回答

6条回答 默认 最新

  • 游戏人日常 2016-06-01 01:09
    关注

    输出好看些,看看format这个类就可以了,还有不需要创建这么多的Scanner对象,创建一个就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置