利用單向鏈表-實(shí)現(xiàn)學(xué)生管理系統(tǒng)java練習(xí)_第1頁(yè)
利用單向鏈表-實(shí)現(xiàn)學(xué)生管理系統(tǒng)java練習(xí)_第2頁(yè)
利用單向鏈表-實(shí)現(xiàn)學(xué)生管理系統(tǒng)java練習(xí)_第3頁(yè)
利用單向鏈表-實(shí)現(xiàn)學(xué)生管理系統(tǒng)java練習(xí)_第4頁(yè)
利用單向鏈表-實(shí)現(xiàn)學(xué)生管理系統(tǒng)java練習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上Java作業(yè):4-13.參照例4-23,利用單向鏈表,實(shí)現(xiàn)學(xué)生管理系統(tǒng)。解:運(yùn)行圖:A. 主菜單B. 增加學(xué)生并且打印學(xué)生信息C. 刪除學(xué)生信息D. 修改學(xué)生信息E. 查找學(xué)生信息代碼實(shí)現(xiàn):(1).單向鏈結(jié)點(diǎn)LinkListElement類public class LinkListElement protected Object data;protected LinkListElement nextElement;public LinkListElement(Object v ,LinkListElement next)data=v;nextElement=next;

2、public LinkListElement(Object v)data=v;nextElement=null;public LinkListElement next()return nextElement;public void setNext (LinkListElement next)nextElement=next;public Object value()return data;public void setValue (Object value)data=value;(2).單向鏈表LinkList類描述public class LinkList protected int cou

3、nt;protected LinkListElement head;public LinkList()head=null;count=0;public boolean isEmpty()return count=0;public void addToTail(Object value)LinkListElement temp=new LinkListElement(value,null);if(head!=null)LinkListElement finger=head;while(finger.next()!=null)finger=finger.next();finger.setNext(

4、temp);else head=temp;count+;public Object remove(Object value)LinkListElement finger=head;LinkListElement previous=null;while(finger!=null&&!finger.value().equals(value)previous=finger;finger=finger.next();if(finger!=null)if(previous=null)head=finger.next();elseprevious.setNext(finger.next()

5、;count-;return finger.value();return null;(3).封裝好的學(xué)生類import java.io.*;public class Student public String id;public String name;public String grade;public String sclass;public String qq;public static InputStreamReader isr=new InputStreamReader(System.in);public static BufferedReader br= new BufferedR

6、eader(isr);public String getId() return id;public void setId(String id) this.id = id;public String getName() return name;public void setName(String name) = name;public String getGrade() return grade;public void setGrade(String grade) this.grade = grade;public String getSclass() return scla

7、ss;public void setSclass(String sclass) this.sclass = sclass;public String getQq() return qq;public void setQq(String qq) this.qq = qq;public Student(String id, String name, String grade,String sclass,String qq )this.id=id; =name;this.grade=grade;this.sclass=sclass;this.qq=qq;public Student

8、()throws ExceptionSystem.out.println("輸入學(xué)生學(xué)號(hào)");id=br.readLine();System.out.println("輸入學(xué)生姓名");name=br.readLine();System.out.println("輸入學(xué)生年級(jí)");grade=br.readLine();System.out.println("輸入學(xué)生班級(jí)");sclass=br.readLine();System.out.println("輸入學(xué)生qq");qq=br.read

9、Line();(4).學(xué)生信息管理的接口類public interface StudentDataBaseInterface void addStudent(Student s)throws Exception;void removeStudent(String name);void updateStudent(String name)throws Exception;void findStudent(String name);void listAll();(5).學(xué)生信息管理manage類import java.io.BufferedReader;import java.io.InputSt

10、reamReader;public class Manage extends LinkList implements StudentDataBaseInterfacepublic static InputStreamReader isr=new InputStreamReader(System.in);public static BufferedReader br= new BufferedReader(isr);public static void main(String args) throws Exception int i=1;Manage m=new Manage();System.

11、out.println("歡迎進(jìn)入學(xué)生管理系統(tǒng)");System.out.println("請(qǐng)選擇:1.增加學(xué)生,2.刪除學(xué)生,3.修改學(xué)生," +"4.查找學(xué)生,5.打印學(xué)生,其他鍵.退出");i=Integer.parseInt(br.readLine();while(i>0&&i<6)switch(i)case 1:Student s=new Student();m.addStudent(s);break;case 2:System.out.println("請(qǐng)輸入要?jiǎng)h除學(xué)生的名字"

12、;);String name;name=br.readLine();m.removeStudent(name);break;case 3:System.out.println("請(qǐng)輸入要修改學(xué)生的名字");String name1;name1=br.readLine();m.updateStudent(name1);break;case 4:System.out.println("請(qǐng)輸入要查找學(xué)生的名字");String name2;name2=br.readLine();m.findStudent(name2);break;case 5:m.listA

13、ll();break;System.out.println("請(qǐng)選擇:1.增加學(xué)生,2.刪除學(xué)生,3.修改學(xué)生," +"4.查找學(xué)生,5.打印學(xué)生,其他鍵.退出");i=Integer.parseInt(br.readLine();m.listAll();public Manage()super();Overridepublic void addStudent(Student s) throws Exception / TODO Auto-generated method stubaddToTail(s);Overridepublic void remo

14、veStudent(String name) / TODO Auto-generated method stubLinkListElement finger=head;while(finger!=null)Student s=(Student)finger.value();if(s.getName().equals(name)remove(s);System.out.println("成功刪除: 學(xué)號(hào):"+s.getId()+" 姓名:"+s.getName()+" 年級(jí):"+s.getGrade()+" 班別:"

15、+s.getSclass()+" qq:"+s.getQq();break;elsefinger=finger.next();Overridepublic void updateStudent(String name) throws Exception / TODO Auto-generated method stubLinkListElement finger=head;while(finger!=null)Student s=(Student)finger.value();if(s.getName().equals(name)System.out.println(&qu

16、ot;成功找到: 學(xué)號(hào):"+s.getId()+" 姓名:"+s.getName()+" 年級(jí):"+s.getGrade()+" 班別:"+s.getSclass()+" qq:"+s.getQq();System.out.println("輸入學(xué)生新學(xué)號(hào)");s.setId(br.readLine();System.out.println("輸入學(xué)生新姓名");s.setName(br.readLine();System.out.println("輸入學(xué)

17、生新年級(jí)");s.setGrade(br.readLine();System.out.println("輸入學(xué)生新班級(jí)");s.setSclass(br.readLine();System.out.println("輸入學(xué)生新qq");s.setQq(br.readLine();System.out.println("成功修改: 學(xué)號(hào):"+s.getId()+" 姓名:"+s.getName()+" 年級(jí):"+s.getGrade()+" 班別:"+s.getScl

18、ass()+" qq:"+s.getQq();break;elsefinger=finger.next();Overridepublic void findStudent(String name) / TODO Auto-generated method stubLinkListElement finger=head;while(finger!=null)Student s=(Student)finger.value();if(s.getName().equals(name)System.out.println("成功找到: 學(xué)號(hào):"+s.getId()

19、+" 姓名:"+s.getName()+" 年級(jí):"+s.getGrade()+" 班別:"+s.getSclass()+" qq:"+s.getQq();break;elsefinger=finger.next();Overridepublic void listAll() / TODO Auto-generated method stubLinkListElement finger=head;int i=1;while(finger!=null)Student s=(Student)finger.value()

20、;System.out.println("序號(hào)"+i+": 學(xué)號(hào):"+s.getId()+" 姓名:"+s.getName()+" 年級(jí):"+s.getGrade()+" 班別:"+s.getSclass()+" qq:"+s.getQq();i+;finger=finger.next();補(bǔ)充題:1. 設(shè)計(jì)一個(gè)Java源程序,用來(lái)創(chuàng)建一個(gè)圖形類Shape,由它派生出矩形Rectangle和圓形Circle并計(jì)算及顯示出相應(yīng)圖形的面積和周長(zhǎng).(1)使用繼承方法:ShapeTe

21、st.java;A. Shape類 public class Shape protected int x;protected int y;protected int r;protected Shape(int x, int y,int r)this.x=x;this.y=y;this.r=r;public void length(int x, int y,int r)System.out.println("周長(zhǎng)");public void square(int x, int y,int r)System.out.println("面積");B. 繼承方法

22、:ShapeTestpublic class ShapeTest extends Shapefloat Pi = 3.14f;protected ShapeTest(int x, int y,int r) super(x, y, r);public void length(int x, int y,int r)System.out.println("矩形周長(zhǎng)"+(2*x+2*y);System.out.println("圓形周長(zhǎng)"+(2*Pi*r);public void square(int x, int y,int r)System.out.prin

23、tln("矩形面積"+x*y);System.out.println("圓形面積"+(Pi*(float)Math.pow(r, 2.0);public static void main(String args) int x=4;int y=4;int r=3;System.out.println("當(dāng)x=4,y=3,r=3時(shí)有:");ShapeTest st=new ShapeTest(x, y,r);st.length(x,y,r);st.square(x, y, r);程序運(yùn)行圖:(2)使用抽象方法:ShapeTest1.jav

24、a;A.abstract class Shape abstract double area(); abstract double perimeter();public class Rectangle extends Shapeprivate double length;private double hight;public Rectangle(double length, double hight)this.length = length ;this.hight = hight;Overridepublic double area() return length*hight;Overridep

25、ublic double perimeter() return 2*(length+hight);B.public class Circle extends Shapedouble radius;public Circle(double radius)this.radius = radius;Overridepublic double area() return Math.PI*radius*radius;Overridepublic double perimeter() return 2*Math.PI *radius;C.public class ShapeTest1 public sta

26、tic void main(Stringargs)Rectangle rec = new Rectangle(4,5);System.out.println("矩形的面積為:"+rec.area();System.out.println("矩形的周長(zhǎng)為:"+rec.perimeter();Circle cir = new Circle(5);System.out.println("愿的面積為:"+cir.area();System.out.println("圓的周長(zhǎng)為:"+cir.perimeter();(3)使用

27、接口方法:ShapeTest2.java;A.接口類 public interface ShapeInterface void length(int x, int y,int r);void square(int x, int y,int r);B. 接口方法ShapeTest2public class ShapeTest2 implements ShapeInterface float Pi = 3.14f;public static void main(String args) int x=4;int y=4;int r=3;System.out.println("當(dāng)x=4,y=

28、3,r=3時(shí)有:");ShapeTest st=new ShapeTest(x, y,r);st.length(x,y,r);st.square(x, y, r);Overridepublic void length(int x, int y, int r) System.out.println("矩形周長(zhǎng)"+(2*x+2*y);System.out.println("圓形周長(zhǎng)"+(2*Pi*r);Overridepublic void square(int x, int y, int r) System.out.println("矩

29、形面積"+x*y);System.out.println("圓形面積"+(Pi*(float)Math.pow(r, 2.0);運(yùn)行圖如1;5-6.編寫一個(gè)從鍵盤讀入10個(gè)字符放入一個(gè)字符數(shù)組,并在屏幕顯示讀入的字符程序,同時(shí)處理數(shù)組越界異常。解:import java.io.BufferedReader;import java.io.InputStreamReader;public class ReadChar public static InputStreamReader isr=new InputStreamReader(System.in);public

30、static BufferedReader br= new BufferedReader(isr);public static void main(String args) throws Exception / TODO Auto-generated method stubString str;char x=new char10;System.out.println("請(qǐng)輸入一串字符串");str=br.readLine();for(int i=0;i<str.length();i+)try xi=str.charAt(i);System.out.println("第一個(gè)字母是"+xi); catch (Exception e) / TODO Auto-generated catch blockif(i>10)System.out.println("字母"+str.charAt(i)+"數(shù)組越界了");運(yùn)行圖補(bǔ)充題:2.編寫Java程序,要求:(1)自定義一個(gè)三角形類Triangle,該類包

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論