赞
踩
本关任务:从文件读取一篇英语文章,然后统计26个英文字母出现的次数。
- package step1;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- //在此写FileLetter类
-
- public class FileLetter {
-
- private FileInputStream read;
-
- public int[] LetterStatistics(String strFilename){
- try{
- read=new FileInputStream(strFilename);
- int[] letter=new int[26];
- int b=read.read();
- char a='a';char A='A';
- while(b!=-1) {
- if(b-(int)a>=0&&b-(int)a<26) {
- letter[b-(int)a]++;
- }
- else if(b-(int)A>=0&&b-(int)A<26) {
- letter[b-(int)A]++;
- }
- b=read.read();
- }
- read.close();
- return letter;
- }catch(IOException ioe) {
- ioe.printStackTrace();
- return null;
- }
- }
- }
本关任务:创建一个学生类Student,包括姓名name,年龄age两个属性。姓名的长度不超过10个字符,年龄是int类型。使用随机读写类RandomAccessFile将学生信息写入到文件中,并能对文件中的学生信息进行读取和修改。(参照教科书P196,例6-18)。
学生类的类名为:Student,该类中有两个属性,访问类型都为public:
char name[]=new char[10]; //学生姓名
int age;//年龄
public Student(String name,int age)构造函数
public void Print();显示姓名和年龄
``
还须创建一个读写类RWClass,该类有一个属性filename,打开读写的文件名。 public RWClass(String filename) 该类的构造函数 public void saveStudent(Student ss,int pos) 将学生对象的信息保存在文件中,ss为保存的学生信息,pos保存的位置。 public Student readStudent(int pos) 在文件中读出某位置的一个学生的信息,返回学生对象
Student.java
- package step2;
- //在此写Student类
- public class Student {
- char name[]= {'\u0000','\u0000','\u0000','\u0000','\u0000','\u0000','\u0000','\u0000','\u0000','\u0000'};
- int age;
- public Student(String name,int age) throws Exception {
- if(name.toCharArray().length>10) {
- System.arraycopy(name.toCharArray(), 0, this.name, 0, 10);
- }else {
- System.arraycopy(name.toCharArray(), 0, this.name, 0, name.toCharArray().length);
- }
- this.age=age;
- }
- public void print() {
- System.out.println("name:"+name.toString());
- System.out.println("age:"+age);
- }
- }
RWClass.java
- package step2;
- import java.io.*;
- //在此写RWClass类
- public class RWClass {
-
- String filename;
- public RWClass(String Filename) {
- filename=Filename;
- }
- public void saveStudent(Student ss,int pos) throws Exception{
- RandomAccessFile ra=new RandomAccessFile(filename,"rw");
- ra.seek(pos*24);
- for(int i=0;i<10;i++) {
- ra.writeChar(ss.name[pos]);
- }
- ra.writeInt(ss.age);
- ra.close();
- }
- public Student readStudent(int pos) throws Exception{
- char buf[]=new char[10];
- RandomAccessFile ra=new RandomAccessFile(filename,"r");
- ra.seek(pos*24);
- for(int i=0;i<10;i++) {
- buf[i]=ra.readChar();
- }
- Student ss=new Student(buf.toString(),ra.readInt());
- ra.close();
- return ss;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。