導航:首頁 > 編程語言 > 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流練習題相關的資料

熱點內容
桌面雲配置文件分離 瀏覽:505
iphone5如何升級4g網路 瀏覽:5
團購是在哪個app 瀏覽:897
打開多個word文檔圖片就不能顯示 瀏覽:855
騰訊新聞怎麼切換版本 瀏覽:269
app安裝失敗用不了 瀏覽:326
桌面文件滑鼠點開會變大變小 瀏覽:536
手機誤刪系統文件開不了機 瀏覽:883
微信兔子甩耳朵 瀏覽:998
android藍牙傳文件在哪裡 瀏覽:354
蘋果6s軟解是真的嗎 瀏覽:310
c語言代碼量大 瀏覽:874
最新網路衛星導航如何使用 瀏覽:425
以下哪些文件屬於圖像文件 瀏覽:774
zycommentjs 瀏覽:414
確認全血細胞減少看哪些數據 瀏覽:265
文件有哪些要求 瀏覽:484
cad打開時會出現兩個文件 瀏覽:65
什麼是轉基因網站 瀏覽:48
手柄設備有問題代碼43 瀏覽:921

友情鏈接