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 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题