java實驗報告_第1頁
java實驗報告_第2頁
java實驗報告_第3頁
java實驗報告_第4頁
java實驗報告_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、院系:計算機科學學院專業(yè):計算機科學與技術年級:2011級課程名稱:Java 語言與 面向?qū)ο蟪绦蛟O計學 號:姓 名:王娟指導教師:杜小坤2013年4月23日年級2011 級班號1106 班學號11061161專業(yè)計算機科學與技術姓名王娟實驗名稱實驗一:簡單 Java Application編程實驗類型設計型綜合型創(chuàng)新型實 驗 目 的 或 要1. 實驗目的(1)了解Java命令行編程環(huán)境 JDK的組成;(2)熟悉Java命令行編程環(huán)境 JDK的配置和使用;(3) 掌握Application程序的輸入和輸出;(4) 掌握Application程序的結構和命名;(5)熟悉Textpad等編輯器的使

2、用。2. 實驗內(nèi)容(1) 熟悉javac、java等命令的使用,熟悉使用Java編輯器。(2) 編與一個Java Application程序,接受用戶從鍵盤輸入的10個整數(shù),比較并輸出其中的最大值和最小值。要求程序能對非法數(shù)據(jù)進行處理。(3) 編與一個Java Application程序,從鍵盤讀取年份,輸出該年份是否為閏年。 要求程序能對非法數(shù)據(jù)進行處理。3. 實驗要求(1)程序的數(shù)據(jù)從鍵盤讀??;(2) 主類名自定,注意其與文件名的關系;(3 )當輸入的數(shù)據(jù)格式不對,提示用戶輸入一個格式正確的數(shù)據(jù);(4)可用圖形用戶界面或字符界面。import java.io.*;import java .

3、Ian g.Stri ng;public class MaxMin /* param args*/public static void main(String args) / TODO Auto-ge nerated method stubint datas=new in t10;int max,mi n,i;max=0;mi n=0;trySystem.out.println(” 請輸入十個整數(shù):”); for(i=0;i10;i+)System.out.println(” 請輸入第+(i+1)+個整數(shù));BufferedReader br = new BufferedReader( new

4、In putStreamReader(System.i n);datasi=ln teger.parse In t(br.readL in e(); max=datasO; min=datas0; for(i=1;i10;i+)if(max datasi) min=datasi;System.out.println(” 最大的整數(shù)是:+max);System.out.println(” 最小的整數(shù)是:+min);catch(IOException e);宀運行結果如圖:實驗原理法流 程C C : IimOISsyste32c i) : wjjJava MaxMinI請輸天十個整數(shù),數(shù)-jDl

5、x|M3魯輸入笫2個整數(shù) 層輸入第3個整數(shù) 56髓輸入第4個整數(shù) 善輸入第百個整數(shù) 苕輸入笫6個整數(shù) 善輸入第7個整數(shù)10請輸入第$個整數(shù)78請輸入笫9個整數(shù) 曙輸入第俑個整數(shù) 書大的整數(shù)是:丹慕小的整數(shù)足:10import java.io.*; import Java.utll.Sca nner; public class RunNian_2 * param args*/public static void main(String args) / TODO Auto-ge nerated method stubSystem.out.println(” 請輸入年份:”);Scanner sc

6、= new Sca nn er(System.i n);Stri ng str = sc.n extL in e();if(str.le ngth()!=4)實驗算法流程和結果System.out.println(”請輸入正確的年份:”);int year= In teger.parse In t(str);boolean flag 仁 year%400=0;boolean flag2= (year%4=0)&(year%100!=0);String message =(flag1 | flag2)?是閏年:不是閏年 System.out.println(+year+年+message);G:

7、Jjavac RunHian_2java jjava RunNian請輸天一個年分:1996N%年為一個閏年。G:j備注:源代碼附后,源代碼要求有注釋說明年級2011 級班號1106 班學號11061161專業(yè)計算機科學與技術姓名王娟實驗名稱實驗二:Java類的定義和對象的創(chuàng)建實驗類型設計型綜合型創(chuàng)新型實 驗 目 的 或 要 求1.實驗目的(1) 進一步熟悉Java命令行編程環(huán)境JDK、eclipse開發(fā)環(huán)境的使用;(2) 熟悉類與對象的概念與關系;(3) 掌握Java類的定義、對象的創(chuàng)建;(4) 掌握成員變量的訪問、成員方法的調(diào)用;(5) 掌握圭寸裝的概念及意義。2. 實驗任務(1) 編與一

8、個復數(shù)類 ComplexNumber,其中包括實例變量 real、image,方法如下:1) 構造方法 ComplexNumber(double a,double b), ComplexNumber(Stri ng a,Stri ng b)2) ComplexNumber add(ComplexNumber x)/當前復數(shù)對象與另一復數(shù)對象進行復數(shù)的加法運算,返回一新的復數(shù)對象3) static ComplexNumber add(ComplexNumber x , ComplexNumber y)/復數(shù)對象x與y相加。4) ComplexNumber sub(ComplexNumber x)

9、/當前復數(shù)對象與另一復數(shù)對象進行復數(shù)的減法運算,返回一新的復數(shù)對象5) static ComplexNumber sub(ComplexNumber x , ComplexNumber y)/復數(shù)對象x與y相減(x-y) o6) double getReal () /獲取復數(shù)對象的實部7) double getImage () /獲取復數(shù)對象的虛部8) void show()按照實部+虛部i(如10+8i)的形式顯示復數(shù)對象的值9) static String toString(ComplexNumber x)/返回復數(shù)對象對應的串(如4+7i),定義成靜態(tài)方法靜態(tài)方法(2) 編寫一個主類,定

10、義并實例化兩個復數(shù)對象,輸出這兩個復數(shù)對象的值,然后進行復數(shù)的加法和減法運算,輸出其運算結果(對象)的值。3. 實驗要求(1) 實例化復數(shù)對象的實部和虛部值要求從鍵盤輸入;(2) 主類名自定,注意其與文件名的關系;package complexNumber;import java.io.*;public class Complex public static void main( Stri ng args) throws NumberFormatExcepti on, I OExcepti onchar ch=;doComplexNumber x1= new ComplexNumber();C

11、omplexNumber x2=new ComplexNumber();ComplexNumber result仁 new ComplexNumber();ComplexNumber result2=new ComplexNumber();double a= new double4;Stri ng s;System.out.print(請輸入第一個復數(shù)的實部:”);tryfor(i nt i=0;i0)if(real0 | real0)System.out.pri ntln( real+image+i);elseSystem.out.pri ntln( +image+i);elseif(ima

12、ge0 | real0)r=r.c on cat(+);r=r.c on cat(i);r=r.c on cat(i);else if(x.image0)r=r.c on cat(i); r=r.c on cat(i);return r;齒-Prableiri!;他 Javadoc盤曙入第二牛記M鞍吉孚: -2.0+38i 寺笛入初復打4.0-4,Si 卄n辛簾杲靑:2-010i 血-n土塔耒古:-6 0+7*9i m-ri幻遠耒垃專邑扶.-6*0 m-na?甩菓藝戈貝J 7.幼 理裟號淮入/yy蘆量入歩二牛毘盂旳雷畫: 育髦代窮二牛屋丈曲戔左:.r*A?j*rn: 4.0+9,01 堂汽幻復

13、土rr再0.0+B.01E+n*理乘?t: 4. &+17.0i m-n并耳窠:t: 4.+L.0i m-n貯占耒?至方:4.0 m-nss*S-:. 1-0 疋窯靑址入Y/y備注:源代碼附后,源代碼要求有注釋說明年級2011 級專業(yè)計算機科學與技術班號實驗名稱實 驗 目 的 或 要 求1106 班實驗三:Java的繼承和多態(tài)編程學號11061161姓名王娟實驗設計型綜合型創(chuàng)新型類型1.實驗題目:使用Java的繼承和多態(tài)編程實現(xiàn)小型公司的工資管理2. 實驗內(nèi)容編寫Application程序?qū)崿F(xiàn)小型公司的工資管理。該公司主要有4類人員:經(jīng)理(Manager)、兼職技術人員(Technician

14、)、銷售員(Salesman)和銷售經(jīng)理(SalesManager)。要求記錄這些人員的編號、姓名和月工資,計算他們的月工資 并顯示全部信息。月工資計算辦法是:經(jīng)理拿固定月薪8000元;兼職技術人員按每小時100元領取月薪;銷售人員按該當月銷售額的4%提成;銷售經(jīng)理既拿固定月工資也領取銷售提成,固定月工資為5000元,銷售提成為所管轄部門當月銷售總額的0.5%。3. 實驗要求(1)(2)(3)(4)(5)不同人員的信息從鍵盤讀?。?主類名自定,注意其與文件名的關系; 當輸入的數(shù)據(jù)格式不對,提示用戶輸入一個格式正確的數(shù)據(jù); 可用圖形用戶界面或字符界面;可考慮為每一個類建立一個Java源文pack

15、age employee;importimportimportpublicprivatejava.io.BufferedReader;java.i o.ln putStreamReader; java.util.Sca nner;class EmployeeOfCompa ny static final String NULL = null ;void main(String args) public staticint a;boolean n= true ;while (n)System.out.println(請選擇員工的類型:”);System.out.println(II );Syst

16、em.out.println(| 1、Man age|);System.out.println(| 2、Technician|);System.out.println(|3、Saleman);System.out.println(|4、SalesManage |);|);System.out.println(II|5 、退出1丿;System.out.println(II );Scanner in =new Scanner(System.in );a=in.n extl nt();switch (a)case 1:Manager e1= new Manager(O,null ,0);Syste

17、m. out .println(e1.getInfo();break ;case 2:Technician e2=new Technician(0,null , 0);System. out .println(e2.getInfo();break ;case 3:Saleman e3= new Saleman(0, null , 0);System. out .println(e3.getlnfo();break ;case 4:SalesManage e4=new SalesManage(0,null , 0);System. out .println(e4.getInfo();break

18、;case 5:n= false ; break ;class Employeeintnum;/ 編號Stringname; / 姓名/float salary; /月工資Employee()System. out .print(請輸入該職工的編號(四位數(shù)):”);try BufferedReader in =new BufferedReader( new InputStreamReader(System. in );num=ln teger.parse Int (in. readL in e(); catch (Exception e);while ( num9999)System. out

19、 .print(請正確輸入該職工的編號(四位數(shù)):”);try BufferedReaderin =new BufferedReader( newInputStreamReader (System.in );num=ln teger.parse Int (in. readL in e(); catch (Exception e);System. out .print(請輸入該職工的姓名:”);try BufferedReader in =new BufferedReader( new InputStreamReader(System. in );n ame=in. readL in e();

20、catch (Exception e);Employee( int num,String name)num=this . num;name=this . name;/this.salary=salary;Stri ng getI nfo()return職工編號: + num+ 職工姓名:+name;class Man ager exte nds Employeedouble salary ;Manager( int num,String name,double salary)num=this . num;name=this . name;this . salary =8000f;salary=

21、 this . salary ;String getI nfo()return 經(jīng)理編號:+ num+經(jīng)理姓名:+ name+ 經(jīng)理工資+salary ;class Tech nician exte nds Employeedouble salary ;int hour ;Tech nician(int nu m,Stri ng n ame,double salary)num=this . num;name=this . name;System. out .print(請輸入兼職技術人員的月工作時間(小時):”);try BufferedReader in =new BufferedReade

22、r( new InputStreamReader(System. in );hour =ln teger.parse Int(in. readL in e(); catch (Exception e);while (hour 720)System. out .print(請正確輸入該職工的工作時間: ”);try BufferedReaderin =new BufferedReader( newInputStreamReader (System.in );hour =ln teger.parse Int (in. readL in e(); catch (Exception e);this .

23、 salary =100* hour ; salary= this . salary ;Stri ng getI nfo()return 經(jīng)理編號:+ num+ 經(jīng)理姓名:+ name+ 經(jīng)理工資:+salary ;class Salema n exte nds Employeedouble salary ;double mon thlySales ;Saleman( int num,String name, double salary)num=this . num;name=this . name;System. out .print(請輸入當月的月銷售額):”);try BufferedR

24、eader in =new BufferedReader( new InputStreamReader(System. in );mon thlySales=ln teger.parse Int(in. readL in e(); catch (Exception e);while ( monthlySales0)System. out .print(請正確輸入當月的月銷售額:”);try BufferedReaderin =new BufferedReader( newInputStreamReader (System.in );mon thlySales=ln teger. parse I

25、nt (in. readL in e(); catch (Exception e);this . salary =0.04* monthlySales;salary= this . salary ;Stri ng getI nfo()return 經(jīng)理編號:+ num+經(jīng)理姓名:+ name+ 經(jīng)理工資:+salary ;class SalesMa nageexte nds Employeedouble salary ;double mon thlySales ;SalesManage( int num,String name,double salary)num=this . num;name

26、=this . name;System. out .print(請輸入當月的總銷售額:”);try BufferedReader in =new BufferedReader( new InputStreamReader(System. in );mon thlySales=ln teger.parse Int(in. readL in e(); catch (Exception e);while ( monthlySales0)System. out .print(請正確輸入當月的總銷售額: ”); try BufferedReaderin =new BufferedReader( newI

27、nputStreamReader (System.in );mon thlySales=ln teger.parse Int(in. readL in e(); catch (Exception e);this . salary =0.005* monthlySales+5000;salary= this . salary ;Stri ng getI nfo()return 經(jīng)理編號:+ num+經(jīng)理姓名:+ name+ 經(jīng)理工資:+salary ;LE*I HI IIIJIJ7I I 1”口11 iyMppilLl3LI詢蘭據(jù)玉工曲貞去:1. Manage2r Technician3. Sa

28、leman4- SalesManage5*迅呂專孜入淳爭工舲誨號(:乞曲);1 :r-3T羔入予冢H的起客;品2匚號:1106 涇M怠呂: wjj 注診工空:8000 H02嚅黠入乍卩工?壯客:Iqq活幕幾契于術人員的二工咗!t兩= 1206譯E詵建入予工拎工峠:TR; 5匚:記涇理戸老:1107 左擔?e呂:lqq 遙粗二蟲:50009.0守號入求貯匸務戌號(芯二玫);yry當月肯月空售粒:S006E:迢逗占號:1168 迢呪蕃窯: yry 運Si二詫:;000譯輕入爭手工曲曉號(氐二狂);:冃二-ff刊轉(zhuǎn)入當三?t亙軌售紀:secure巨玄1109 za宕: vff 巨阪二穿:75B0.0

29、年級2011 級班號1106 班學號11061161專業(yè)計算機科學與技術姓名王娟實驗 名稱實驗四:圖形用戶界面編程實驗類型設計型綜合型創(chuàng)新型實 驗 目 的 或 要 求實驗目的(1)了解Java系統(tǒng)圖形用戶界面的基本工作原理及界面的設計步驟;(2)掌握Java事件委托模型;(3)熟悉Java圖形用戶界面包;(4)能熟練使用基本組件和容器。(5)掌握java界面布局。 實驗內(nèi)容編與一個java Application程序,該程序能進行簡單的(加減乘除)數(shù)學計算,界 面有0-9這10個數(shù)字按鍵、“+-*/- ” 5個操作按鍵和一個 TextField文本框,用戶首先 按相應數(shù)字鍵輸入正確操作數(shù)1,然

30、后選取操作符,接著輸入操作數(shù)2,最后點擊“-”輸出計算結果。package acc;import java.awt.*; import java.awt.eve nt.*;public class MyFirstAcculator /* param args*/public staticvoid main(String args) / TODCAuto-ge nerated method stub AccFrame f new AccFrame();class AccFrame exte nds Framedouble d1, d2;int op=-1;TextFieldtext1 ;Pan

31、elS num = new Pan elS();PanelO fuhao = new PanelO();AccFrame()setTitle(小計算器”);setLayout( new FlowLayout(FlowLayout.CENTER8,10);setBackgrou nd(new Color(100,150,150);setForeground(Color.white );setResizable(false );setSize(300,200);text1 = new TextField(25);text1 .setEditable(false );text1 .setBackgr

32、ou nd(new Color(108,118,103);text1 .setForeground(Color.white );text1 .setFo nt( new Font( Arial ,Fo nt. BOLD,16);add( text1 );add( num);add( fuhao );setVisible(true );addWi ndowListe ner(new Wclose();class Buttonsexte nds Butt onButto ns(Stri ng s)super (s);setBackground(Color.gray );class PanelS e

33、xte nds Pan elButtons b0, b1, b2, b3, b4, b5, b6 , b7 , b8 , b9, bEqual , bCE;class PanelS_ extends PanelButt onsbO, bl, b2, b3, b4, b5, b6 , b7 , b8 , b9, bEqual , bCE;Pan elS()setLayout( new GridLayout(4,3);setFont(new Font( TimesRoman ,Font. BOLD16);bO = new Butt on s(0);b1 = new Buttons(1);b2 =n

34、ewButt on s(2);b3 =newButt on s(3);b4 = new Buttons(4);b5 =newButt on s(5);b6 =newButt on s(6);b7 =newButt on s(7);b8 =newButt on s(8);b9 =newButt on s(9);bEqual = new Buttons( =);bCE = new Buttons(CE);add(b0);b0 .addActi on Liste ner(new PressB0();add(b1);b1 .addAct ion Liste ner(new PressB1();add(

35、b2);b2 .addActio nListe ner(new PressB2();add(b3);b3 .addActi on Liste ner(new PressB3();add(b4);b4 .addAct ion Liste ner(new PressB4();add(b5);b5 .addAct ion Liste ner(new PressB5();add(b6);b6 .addActi on Liste ner(new PressB6();add(b7);b7 .addAct ion Liste ner(new PressB7();add(b8);b8 .addActi on

36、Liste ner(new PressB8();add(b9);b9 .addActi on Liste ner(new PressB9();add(bEqual );bEqual .addActionListener(new PressBEqual();add(bCE);bCE.addActi on Liste ner(new PressBCE();Pan elS() class Pan elOexte nds Pan elButtonsbAdd, bSub, bMul , bDiv ;Pan elO()setLayout( new GridLayout(4,1);setFont( new

37、Font( TimesRoman ,Font. BOLD16); bAdd = new Buttons( +); bSub = new Buttons(-); bMul = new Buttons( *); bDiv = new Butt on s(/);add(bAdd);bAdd .addActio nListe ner(new PressBAdd();add(bSub);bSub.addAct ion Liste ner(newPressBSub();add(bMul );bMul .addActionListener(newPressBMul();add(bDiv );bDiv .ad

38、dActionListener(newPressBDiv();class PressBAddimpleme ntsAction Liste ner public void actionPeformed(ActionEvent e) try d1 = Double. parseDouble (text1 .getText();op = 0;text1 .setText( );catch (Exception ee) class PressBSubimpleme ntsAction Liste ner public void actionPeformed(ActionEvent e) try d1

39、 = Double. parseDouble (text1 .getText();op = 1;text1 .setText( );catch (Exception ee) class Pan elOexte nds Pan elclass PressBMulimpleme ntsAction Liste ner public void actionPeformed(ActionEvent e) try d1 = Double. parseDouble (text1 .getText(); op = 2;text1 .setText( );catch (Exception ee) class

40、PressBDivimpleme ntsAction Liste ner public void actionPeformed(ActionEvent e) try d1 = Double. parseDouble (text1 .getText(); op = 3;text1 .setText( );catch (Exception ee) class PressBEqualimpleme ntsActi on Liste ner public void actionPeformed(ActionEvent e) try double result = 0;d2 = Double. pars

41、eDouble (text1 .getText(); switch (op) case 0:result =d1 + d2;break ;case 1:result =d1 -d2;break ;case 2:result =di *d2;break ;case 3:result =di /d2;break ;default :texti .setText(String.valueOf (result);class PressBMulimpleme ntsAction Liste ner public void actionPeformed(ActionEvent e) catch (Exce

42、ption ee) class PressBCEimpleme ntsAction Liste ner public void actionPeformed(ActionEvent e) text1 .setText();class PressBO impleme ntsAction Liste ner public void actionPeformed(ActionEvent e) Stri ng text =text1 .getText();text1 .setText(text+0);class PressB1 impleme ntsAction Liste ner public vo

43、id actionPeformed(ActionEvent e) Stri ng text =text1 .getText();text1 .setText(text+1);class PressB2 impleme ntsAction Liste ner public void actionPeformed(ActionEvent e) Stri ng text =text1 .getText();text1 .setText(text+2);class PressB3 impleme ntsAction Liste ner public void actionPeformed(ActionEvent e) Stri ng text =text1 .getText();text1 .setText(text+3);class PressB4 impleme ntsAction Liste ner public void actionPeformed(ActionEvent e) catch (Exception ee) class PressB4impleme ntsAction Liste ner public void actionPeformed(ActionEvent e) Stri ng text =text1 .getText();text1 .setText(te

溫馨提示

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

評論

0/150

提交評論