Java笔试题-C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩看,格式为:姓名 分数 班级

题目:C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩看,格式为:姓名 分数 班级如:

张三80 1班

李四90 2班

设计一个方法,读取文件里的信息,最后输出学生的信息,输出格式为:姓名:张三 分数:80 班级:1班

要求:使用类存储每一行学生信息,使用list存储所有的学生信息。

public class ReadTextLine {
public static void main(String[] args) throws IOException {
    List<Student> list=getReader("E:\\score.txt");
    System.out.println(list);
    for(Student s:list){
        System.out.println("姓名:"+s.getName()+" "+"分数:"+s.getScore()+"班级:"+s.getCls());
    }
}
public static List<Student> getReader(String path) throws IOException{
     List<Student> students=new ArrayList<Student>();
    FileInputStream in=new FileInputStream(new File(path));
    InputStreamReader inr=new InputStreamReader(in);
    BufferedReader buf=new BufferedReader(inr);
    String s="";
    while((s=buf.readLine())!=null){
        Student student=new Student();
        int index=s.indexOf(" ");
        student.setName(s.substring(0,index-2));
        student.setScore(Integer.parseInt(s.substring(index-2,index)));
        student.setCls(s.substring(index,s.length()));
        students.add(student);
    }
    in.close();
    buf.close();
    inr.close();
    return students;
}
}

存储类:

public class Student {
    private String name;
    private int score;
    private String cls;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public String getCls() {
        return cls;
    }

    public void setCls(String cls) {
        this.cls = cls;
    }

}

利用IO流读取文件信息:file-->FileInputStream-->InputStreamReader-->BufferedReader在通过while循环将每一行数据取出,每一次取出将其放入一个临时的String中,当为null时停止

将每一行数据通过空格分隔,空格以后的为班级,空格前两个为成绩,2位数,0到空格-2为姓名

原文地址:https://www.cnblogs.com/ys15/p/11525449.html

时间: 2024-08-29 04:50:33

Java笔试题-C盘下面有一个aa.txt的文件,文件里存放了年级每一个学生的成绩看,格式为:姓名 分数 班级的相关文章

Java笔试题1

1. 下面的代码运行后,将输出什么结果? String s1 = new String("Test"); String s2 = new String("Test"); if (s1 == s2) System.out.println("Same"); if (s1.equals(s2)) System.out.println("Equals"); A. Same     Equals  B.Same   C. Equals

java笔试题(1)

char型变量中能不能存贮一个中文汉字? char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字.补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节. "=="和equals方法有什么区别? (1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时

精选30道Java笔试题解答

个人觉得整理的超级好的Java笔试题,原文请见 http://blog.csdn.net/lanxuezaipiao/article/details/16753743 1. 下面哪些是Thread类的方法() A start()       B run()       C exit()       D getPriority() 答案:ABD 解析:看Java API docs吧:http://docs.oracle.com/javase/7/docs/api/,exit()是System类的方

java笔试题(3)

short a = 1; a = a + 1; 有错吗? short a = 1; a += 1; 有错吗? 对于short a = 1; a = a + 1;由于a + 1 运算时会自动提升表达式的类型,所以结果是int型,再复制short类型a时,编译器将报告需要强制装换类型的错误. 对于short a = 1; a += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译. 静态变量和实例变量的区别? 在语法定义上的区别:静态变量前要加stati

java笔试题(4)

abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? abstract的method 不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! abstract的method 不可以是native的,native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用.例如,FileOutputSteam类要硬件打交道,底层的

java笔试题(2)

简述构造器的运行机制 首先要注意的是的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因. 构造器的修饰符比较的有限,仅仅只有public private protected这三个,其他的例如任何修饰符都不能对其使用,也就是说构造器不允许被成名成抽象.同步.静态等等访问限制以外的形式. 因为构造器不是函数,所以它是没有返回值的,也不允许有返回值.但是这里要说明一下,构造器中允许存在

java笔试题解析

1.数组乱序 天天搞排序,今天遇到一道乱序的问题居然无从下手,知道random,然后想了很复杂的if条件判断. 其实,只要在数组里面依次拿出一个数,然后产生数组长度范围内的一个数作为下标,然后互换即可! public class RandomNumber { public static void main(String[] args) { int change = 6; int[] sequence = new int[change]; for (int i = 0; i < change; i

java笔试题(1)

转载自:http://blog.csdn.net/fmh2011/article/details/19690999 某互联网公司的java基础笔试题 该公司的不少题来自于java面试宝典 1.char型变量中能不能存贮一个中文汉字?为什么? char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字.补充说明:u

java常见面试题——java笔试题总结

注:本文转载自http://www.cnblogs.com/huajiezh/p/5790928.html,版权归其所有! Java常见面试题总结 一.Java基础 1.String类为什么是final的. 2.HashMap的源码,实现原理,底层结构. 3.说说你知道的几个Java集合类:list.set.queue.map实现类咯... 4.描述一下ArrayList和LinkedList各自实现和区别 5.Java中的队列都有哪些,有什么区别. 6.反射中,Class.forName和cl