導航:首頁 > 編程語言 > javaio流練習題

javaio流練習題

發布時間:2023-05-05 21:18:44

java iO 流問題

這個可以改成:Scanner sc=new Scanner(System.in);

經過包裝後,程序是一行一行讀,當讀到"end"程序就終止了。br.readLine(),一次讀一行。

還有while(len!=-1)的,當讀位元組時,就不可以用這樣的方法了

Ⅱ java題目,io流問題

我這里有一個簡單的學生管理系統,你只需要把Student學生類修改成名片類就可以了。你需要新建立一個java文件名為HW4.java,復制粘貼以下代碼,編譯運行就可以了。

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.Serializable;
importjava.util.Arrays;
importjava.util.Comparator;
importjava.util.Scanner;

<Student>,Serializable{
/**
*SerializableUID:ensuresserialize/de-.
*/
=-3515442620523776933L;

publicintgetNumber(){
returnnumber;
}

publicvoidsetNumber(intnumber){
this.number=number;
}

publicintgetAge(){
returnage;
}

publicvoidsetAge(intage){
this.age=age;
}

publicdoublegetWeight(){
returnweight;
}

publicvoidsetWeight(doubleweight){
this.weight=weight;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

privateintnumber;
privateintage;
privatedoubleweight;
privateStringname;

publicStudent(intnumber,intage,doubleweight,Stringname){
this.number=number;
this.age=age;
this.weight=weight;
this.name=name;
}

@Override
publicintcompareTo(Studento){
if(this.age==o.age){
return(int)(this.weight-o.weight);
}
returnthis.age-o.age;
}
}

<Student>{

@Override
publicintcompare(Studento1,Studento2){
returno1.getAge()-o2.getAge();
}
}

<Student>{

@Override
publicintcompare(Studento1,Studento2){
return(int)(o1.getWeight()-o2.getWeight());
}
}

publicclassHW4{
//.
publicstaticvoidmain(String[]args){
System.out.println(" WelcometotheSystem,Chooseoptionsbelow:");
printPrompt();

Student[]students=null;
Scannerscanner=newScanner(System.in);
while(scanner.hasNextInt()){
switch(scanner.nextInt()){
case1:
System.out.println("PrintStudentInformation");
if(students==null){
System.out.println("PleaseInitiliseNstudentsfirst");
}else{
printStudents(students);
}
printPrompt();
break;
case2:
System.out.println(":");
intnumber=scanner.nextInt();
students=initilise(number,scanner);
printPrompt();
break;
case3:
System.out.println("Addanewstudent");
printPrompt();
if(students==null){
System.out.println("PleaseInitiliseNstudentsfirst");
}else{
intnewLength=students.length+1;
students=Arrays.Of(students,newLength);
students[newLength-1]=createStudent(scanner);
System.out.println("Newstudenthasbeenadded.");
printPrompt();
}
break;
case4:
System.out.println("SortingbyAge,WeightinAsceorder");
if(students==null){
System.out.println("PleaseInitiliseNstudentsfirst");
}else{
Student[]sortedStudents=students;
Arrays.sort(sortedStudents);
printStudents(sortedStudents);
}
break;
case5:
System.out.println("CalcaulteMin,Max,AveofAgeandWeight");
if(students==null){
System.out.println("PleaseInitiliseNstudentsfirst");
}else{
Student[]sortedAgeStudents=students;
Arrays.sort(sortedAgeStudents,newStudentSortByAge());
Student[]sortedWeightStudents=students;
Arrays.sort(sortedWeightStudents,newStudentSortByWeight());
intaverageAge=0;
doubleaverageWeight=0.0;
for(Studentstudent:sortedAgeStudents){
averageAge+=student.getAge();
averageWeight+=student.getWeight();
}
averageAge=averageAge/sortedAgeStudents.length;
averageWeight=averageWeight/sortedWeightStudents.length;
System.out.printf("MinAge:%d,MaxAge:%d,AveAge:%d ",sortedAgeStudents[0].getAge(),sortedAgeStudents[sortedAgeStudents.length-1].getAge(),averageAge);
System.out.printf("MinWeight:%f,MaxWeight:%f,AveWeight:%f ",sortedWeightStudents[0].getWeight(),sortedWeightStudents[sortedWeightStudents.length-1].getWeight(),averageWeight);
}
break;
case6:
System.out.println("WriteStudentdataintofile");
try(ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream(newFile("studentsData"),true))){
oos.writeObject(students);
printPrompt();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
break;
case7:
System.out.println("ReadstudentDatafromfile");
try(ObjectInputStreamois=newObjectInputStream(newFileInputStream(newFile("studentsData")))){
students=(Student[])(ois.readObject());
printPrompt();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
break;
default:
scanner.close();
System.out.println("Quit");
break;
}
}
}

publicstaticvoidprintPrompt(){
System.out.println("1:Displaycurrentstudents");
System.out.println("2:InitiliseNstudents");
System.out.println("3:Addnewstudent");
System.out.println("4:SortingbyAge,WeightinAsceorder");
System.out.println("5:CalcaulteMin,Max,AveofAgeandWeight");
System.out.println("6:WriteStudentdataintofile");
System.out.println("7:ReadstudentDatafromfile");
}

publicstaticStudent[]initilise(intn,Scannerscanner){
Student[]students=newStudent[n];
for(inti=0;i<n;i++){
students[i]=createStudent(scanner);
}
System.out.println(".");
returnstudents;
}

publicstaticvoidprintStudents(Student[]students){
for(Studentstudent:students){
System.out.printf("Student:%s,Number:%d,Age:%d,Weight:%f ",student.getName(),student.getNumber(),student.getAge(),student.getWeight());
}
}

(Student[]students){
for(Studentstudent:students){
System.out.printf("Age:%d,Weight:%f,Student:%s,Number:%d ",student.getAge(),student.getWeight(),student.getName(),student.getNumber());
}
}

(Scannerscanner){
intstudentNumber=0,studentAge=0;
doublestudentWeight=0.0;
StringstudentName=null;
System.out.println("EnterStudentNumber:");
while(scanner.hasNext()){
studentNumber=scanner.nextInt();

System.out.println("EnterStudentAge:");
studentAge=scanner.nextInt();

System.out.println("EnterStudentWeight:");
//nextDouble僅僅讀取double的值,在double值後的' '將會被nextLine()所讀取,所以讀取studentName時需要再讀取一次nextLine()
studentWeight=scanner.nextDouble();

System.out.println("EnterStudentName:");
scanner.nextLine();
studentName=scanner.nextLine();
break;
}
returnnewStudent(studentNumber,studentAge,studentWeight,studentName);
}
}
閱讀全文

與javaio流練習題相關的資料

熱點內容
壓縮包會改變文件內容么 瀏覽:548
45度面槽怎麼編程 瀏覽:742
蘋果6原裝充電器多大的 瀏覽:814
騰訊群文件 瀏覽:584
win10雙擊excel文件無法直接打開 瀏覽:152
dnf90版本劍魂右槽排名 瀏覽:375
mac給文件夾添加快捷方式到桌面 瀏覽:221
如何提高配套文件科學性 瀏覽:552
免費qq在線客服代碼 瀏覽:615
網路攝像機和麥克風的使用點不了 瀏覽:872
win10資源文件夾卡死 瀏覽:431
聯想筆記本如何添加網路連接 瀏覽:821
釘釘文件下載到微信用哪個瀏覽器 瀏覽:252
word怎麼刪掉第一頁 瀏覽:215
為什麼小米5不能升級系統 瀏覽:768
復古攝影教程 瀏覽:803
u盤里文件顯示文件夾空 瀏覽:574
如何編程年月日的進制 瀏覽:351
升級電腦硬體注意什麼 瀏覽:827
cnc銑床多主軸如何編程 瀏覽:640

友情鏈接