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 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 Ubuntu20.04无法连接GitHub
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥30 C++行情软件的tick数据如何高效的合成K线