A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Imp_x 高级黑马   /  2015-1-17 16:59  /  1171 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Imp_x 于 2015-1-19 22:44 编辑

报错图片选中那行,Exception in thread "main" java.util.InputMismatchException查API,表明获取的标记与期望类型的模式不匹配,或者该标记超出期望类型的范围。
不懂为何命令行能运行正常,用eclipse录入第二个人的分数时就报错





  1. package ruxue_1;

  2. import java.io.BufferedWriter;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.util.Comparator;
  6. import java.util.Scanner;
  7. import java.util.TreeSet;

  8. /*
  9. * 需求:
  10. *                 我有一个学生类,这个类包含以下成员变量:姓名,语文成绩,数学成绩,英语成绩。
  11. *                请从键盘录入5个学生信息,然后按照自己定义的格式存储到文本文件中。
  12. *                要求被存储的学生按照分数从高到低排序。
  13. * 思路:
  14. *                 1、定义一个学生类
  15. *                 2、创建一个TreeSet集合对象
  16. *                 3、键盘录入数据并存储进集合中
  17. *                 4、遍历集合将数据存储到文本文件中        
  18. */
  19. public class IOTest {
  20.         public static void main(String[] args) throws IOException {
  21.                
  22.                 TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
  23.                         public int compare(Student s1, Student s2) {
  24.                                 //主要条件,总分排序
  25.                                 int num = s2.Sum()-s1.Sum();
  26.                                 //次要条件,总分相同,比较语文成绩
  27.                                 int num2 = (num==0)?s2.getChinese()-s1.getChinese():num;
  28.                                 //语文成绩相同,比较数学成绩
  29.                                 int num3 = (num==0)?s2.getMath()-s1.getMath():num2;
  30.                                 //成绩都相同,比较名字
  31.                                 int num4 = (num==0)?s2.getName().compareTo(s1.getName()):num3;
  32.                                 
  33.                                 return num4;
  34.                         }
  35.                 });
  36.                 System.out.println("开始数据录入!");
  37.                 for(int x = 0; x < 5; x++)
  38.                 {
  39.                         Scanner sc = new Scanner(System.in);
  40.                         
  41.                         System.out.println("请输入第"+(x+1)+"个学生的姓名");
  42.                         String name = sc.nextLine();
  43.                         System.out.println("请输入第"+(x+1)+"个学生的语文成绩");
  44.                         int chinese = sc.nextInt();
  45.                         System.out.println("请输入第"+(x+1)+"个学生的数学成绩");
  46.                         int math = sc.nextInt();
  47.                         System.out.println("请输入第"+(x+1)+"个学生的英语成绩");
  48.                         int english = sc.nextInt();
  49.                         
  50.                         Student s = new Student();
  51.                         s.setName(name);
  52.                         s.setChinese(chinese);
  53.                         s.setMath(math);
  54.                         s.setEnglish(english);
  55.                         
  56.                         ts.add(s);
  57. //                        sc.close();
  58.                 }
  59.                 System.out.println("数据录入完毕!");

  60.                 BufferedWriter bw =new BufferedWriter(new FileWriter("Student.txt"));
  61.                 bw.write("姓名\t");
  62.                 bw.write("语文\t");
  63.                 bw.write("数学\t");
  64.                 bw.write("英语");
  65.                 bw.newLine();
  66.                
  67.                 for(Student s : ts){
  68. //                        System.out.println(s);
  69.                         
  70.                         StringBuilder sb =new StringBuilder();
  71.                         sb.append(s.getName()).append("\t").append(s.getChinese()).append("\t").
  72.                         append(s.getMath()).append("\t").append(s.getEnglish());
  73.                         
  74.                         bw.write(sb.toString());
  75.                         bw.flush();
  76.                 }
  77.                
  78.                 bw.close();
  79.         }
  80. }
复制代码





002.jpg (43.69 KB, 下载次数: 62)

002.jpg

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马