




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科實(shí)驗(yàn)報(bào)告課程名稱(chēng): JAVA語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目: 基礎(chǔ)編程 實(shí)驗(yàn)地點(diǎn): 軟件樓 專(zhuān)業(yè)班級(jí): 軟件 班 學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 2014年1月5日實(shí)驗(yàn)1 Java語(yǔ)言基礎(chǔ)1.實(shí)驗(yàn)?zāi)康?1) 通過(guò)實(shí)驗(yàn),掌握J(rèn)ava語(yǔ)言程序設(shè)計(jì)的基本方法。(2) 學(xué)會(huì)Java語(yǔ)言中標(biāo)示符的命名、運(yùn)算符和表達(dá)式的應(yīng)用。(3) 熟練地掌握J(rèn)ava程序流程控制語(yǔ)句的應(yīng)用。2.主要儀器設(shè)備筆記本電腦HP6460b,win7,eclipse3.實(shí)驗(yàn)內(nèi)容(1) 編寫(xiě)應(yīng)用程序,計(jì)算100(含100)以?xún)?nèi)所有偶數(shù)的和。package com.test11;public class Test11 /計(jì)算100以?xún)?nèi)所有
2、偶數(shù)的和public static void main(String args)int sum = 0;for(int i=2; i<=100; i+=2)sum += i;System.out.println("100(包括100)以?xún)?nèi)所有的偶數(shù)之和sum="+sum);運(yùn)行結(jié)果:(2) “水仙花數(shù)”是指一個(gè)3位數(shù),其個(gè)位、十位、百位上的數(shù)字的立方和等于該數(shù)本身,例如371=33+73+13,因此371是一個(gè)水仙花數(shù)。編寫(xiě)程序,求所有的水仙花數(shù)。package com.test12;public class Test12 public static void mai
3、n(String args)System.out.println("所有3位數(shù)中的水仙花數(shù)為:");for(int i=100;i<1000;i+) int a = i/100; int b = i/10%10; int c = i%100%10; if(a*a*a + b*b*b + c*c*c = i) System.out.println(i);運(yùn)行結(jié)果:(3) 編寫(xiě)一個(gè)程序,求1-100間的素?cái)?shù)。package com.test13;public class Test13 public static void main(String args)boolean
4、f; System.out.println("1100之間的素?cái)?shù)是:"); for(int i = 2; i <= 100; i+) f = true; for(int j = 2; j < i; j+) if(i % j = 0) f = false; break; if(f) System.out.print(i + " "); 運(yùn)行結(jié)果:(4) 有一函數(shù): x (x<1)Y= 3x-2 (1x<10) 4x (x10) 寫(xiě)一程序,給定x值,輸出y值。package com.test14;import java.util.Sc
5、anner;public class Test14 public static void main(String arges)System.out.print("請(qǐng)輸入一個(gè)x的值:");Scanner in = new Scanner(System.in);Double Y,x=in.nextDouble();if(x < 1)System.out.println("Y="+x);else if(x >= 10)Y=4 * x;System.out.println("Y="+Y);else Y = 3*x-2;System
6、.out.println("Y="+Y);運(yùn)行結(jié)果: (5) 使用for循環(huán)語(yǔ)句,編寫(xiě)程序輸出以下圖案。package addsum;public class question5 public static void main(String args) for(int r=1; r<=4; r+) for (int space=4-r; space>0; space-) System.out.print(""+" "+""); for(int star=1; star<=2*r-1; star+)
7、 System.out.print(''); System.out.print('n'); for(int r=3; r>=1; r-) for(int space=4-r; space>0; space-) System.out.print(""+" "+""); for(int star=1; star<=2*r-1; star+) System.out.print(''); System.out.print('n'); 運(yùn)行結(jié)果:(6) 編寫(xiě)程序,
8、輸出從公元1900年到2100年所有閏年的年號(hào),每輸出5個(gè)年號(hào)換一行。判斷年是否為閏年的條件是: 若年號(hào)可以被4整除,而不能被100整除,則是閏年; 若年號(hào)可以被400整除,也是閏年。package com.test15;public class Test16 public static void main(String args)for(int i=1900;i<=2010;i+)int n = 0;if(i%4=0)&&(i%100!=0)|(i%400=0)n+;System.out.println(i+"是閏年"); if(n%5=0) Sys
9、tem.out.println("n"); 運(yùn)行結(jié)果:4.討論、心得 試驗(yàn)中遇到的問(wèn)題及體會(huì) 在實(shí)驗(yàn)過(guò)程中,整體都比較完整,基本沒(méi)遇到什么太大調(diào)試問(wèn)題,算法設(shè)計(jì)也比較清楚,結(jié)果相對(duì)比較滿(mǎn)意。 體會(huì):經(jīng)過(guò)實(shí)驗(yàn)使我對(duì)本章的知識(shí)有了更深一步的理解,也學(xué)會(huì)了將C語(yǔ)言運(yùn)用到j(luò)ava語(yǔ)言中的學(xué)習(xí)方法,對(duì)知識(shí)做了進(jìn)一步的鞏固,同時(shí)也發(fā)現(xiàn)各種語(yǔ)言之間總有相同的模塊,這也使我對(duì)以后各程序設(shè)計(jì)語(yǔ)言及各專(zhuān)業(yè)課的學(xué)習(xí)奠定基礎(chǔ),創(chuàng)造了條件實(shí)驗(yàn)2 數(shù)組和字符串編程1.實(shí)驗(yàn)?zāi)康?1) 通過(guò)實(shí)驗(yàn),掌握J(rèn)ava語(yǔ)言中數(shù)組、字符串程序設(shè)計(jì)的基本方法。(2) 較熟練地掌握J(rèn)ava程序數(shù)組的應(yīng)用、字符串處理操作的
10、方法應(yīng)用。2.實(shí)驗(yàn)內(nèi)容(1) 編寫(xiě)一個(gè)程序,在控制臺(tái)輸入10個(gè)數(shù),按大小順序輸出。package com.testTwo;import java.util.Scanner;public class TestTwo0 public static void main(String args)int x=new int10; System.out.print("請(qǐng)輸入十個(gè)整數(shù):"); Scanner sc=new Scanner(System.in); for(int i=0;i<10;i+) xi=sc.nextInt(); sort(x);public static v
11、oid sort(int x) / TODO Auto-generated method stub int temp; for (int i = 0; i < 10; i+) for (int j = i + 1; j < 10; j+) if (xi < xj) temp = xi; xi = xj; xj = temp; for (int i = 0; i < 10; i+) System.out.print(xi + ",");運(yùn)行結(jié)果:(2) 求一個(gè)3*3矩陣對(duì)角線(xiàn)元素之和。package com.testTwo;public class T
12、estTwo2 public static void main(String args) int nums=1,2,3,4,5,6,7,8,9; int sum = 0; for(int i=0;i<3;i+) for(int j=0;j<3;j+) if(i=j|i+j=2) sum+=numsij; System.out.println("3*3矩陣對(duì)角線(xiàn)元素之和sum="+sum); 運(yùn)行結(jié)果:(3) 輸入一段字符串,統(tǒng)計(jì)其中有多少個(gè)單詞。(單詞用空格隔開(kāi))package com.testTwo;import java.io.BufferedReader;
13、import java.io.IOException;import java.io.InputStreamReader;public class TestTwo3 public static void main(String args) throws IOExceptionint num=1;String s;System.out.print("請(qǐng)輸入一段字符串:n");BufferedReader buf = new BufferedReader(new InputStreamReader(System.in);s = buf.readLine();for (int i=
14、0;i<s.length();i+)if(s.charAt(i) = ' ')num+;System.out.println("該字符串有"+num+"個(gè)單詞");運(yùn)行結(jié)果:3.討論、心得 通過(guò)實(shí)驗(yàn),掌握J(rèn)ava語(yǔ)言中數(shù)組、字符串程序設(shè)計(jì)的基本方法,較熟練地掌握J(rèn)ava程序數(shù)組的應(yīng)用、字符串處理操作的方法應(yīng)用,學(xué)到了很多知識(shí),加深了對(duì)書(shū)本上知識(shí)的理解。實(shí)驗(yàn)3 Java面向?qū)ο蟪绦蛟O(shè)計(jì)1.實(shí)驗(yàn)?zāi)康恼莆認(rèn)ava面向?qū)ο蟪绦蛟O(shè)計(jì)中類(lèi)、繼承、包和接口的概念與應(yīng)用,能熟練應(yīng)用方法、類(lèi)、成員變量等元素。2.實(shí)驗(yàn)內(nèi)容(1) 創(chuàng)建一個(gè)復(fù)數(shù)類(lèi)comp
15、lex,以復(fù)數(shù)進(jìn)行數(shù)學(xué)運(yùn)算、復(fù)數(shù)具有如下格式:RealPart+ImaginaryPart*I ,其中,I為-1的平方根。 要求如下:1 利用浮點(diǎn)變量表示此類(lèi)的私有數(shù)據(jù)。提供兩個(gè)構(gòu)造方法,一個(gè)用于此類(lèi)聲明的對(duì)象的初始化;一個(gè)為默認(rèn)的無(wú)參構(gòu)造方法。2 提供兩復(fù)數(shù)加、減、乘的運(yùn)算方法。3 按格式(a,b)打印復(fù)數(shù)。其中a為實(shí)部,b為虛部。package shiyan3;import java.util.Scanner;public class question1 public static void main(String args) Complex a=new Complex(3,5);Comp
16、lex b=new Complex(7,2);System.out.println(a.toString()+"和"+b.toString()+"相加的結(jié)果為"+plexAdd(b).toString();System.out.println(a.toString()+"差"+b.toString()+"相減的結(jié)果為"+plexJian(b).toString(); class Complex int realPart; int imaginPart; public Complex()realPart=0;imag
17、inPart=0; public Complex(int r,int i)realPart=r;imaginPart=i; public Complex complexAdd(Complex b)return new Complex(realPart+b.realPart,imaginPart+b.imaginPart ); public Complex complexJian(Complex b) Return new Complex(realPart-b.realPart,imaginPart-b.imaginPart ); public String toString()String s
18、r= "("+realPart + "," +imaginPart + ")" return sr;結(jié)果: (2) 創(chuàng)建銀行賬號(hào)Account類(lèi),實(shí)現(xiàn)存款(balance)的存(deposit)、取(withdraw)和查詢(xún)(getbalance)等功能。2.package shiyan3;import java.util.Scanner;public class question2 public static void main(String args) double balance = 0;double deposit = 0;d
19、ouble withdraw = 0;for (;) System.out.println("請(qǐng)輸入數(shù)字:t1.存錢(qián) t2.取錢(qián)t3.查詢(xún)余額n");Scanner input = new Scanner(System.in);String num = input.next();double s1 = 0, s2= 0 ;if (num.equals("1") System.out.println("輸入存入金額:");deposit = input.nextDouble();System.out.println("存錢(qián)數(shù)目
20、為:" + deposit);s1 += deposit; if (num.equals("2") System.out.println("輸入取錢(qián)金額:");withdraw = input.nextDouble();System.out.println("取走金額為:" + withdraw);s2 += withdraw; if (true | num.equals("3") balance += s1 - s2;System.out.println("賬戶(hù)余額為:" + bal
21、ance); 結(jié)果:(3) 編程定義一個(gè)接口,實(shí)現(xiàn)三個(gè)數(shù)中求最小值和最大值的方法,并將程序存放在mymaths包中。3.package shiyan3;public class question3 public Integer maxNum(int a, int b) if(a>b)return a;else return b;public Integer minNum(int a, int b) if(a>b)return b;else return a;public static void main(String args)int a=6,b=2,c=10;question3
22、s=new question3();int temp=s.maxNum(a, b);int temp1=s.maxNum(temp, c);System.out.println("The MaxNum is"+temp1);int temp2=s.minNum(a, b);int temp3=s.minNum(temp2, c);System.out.println("The MinNum is"+temp3); 結(jié)果:(4) 編程實(shí)現(xiàn)以下簡(jiǎn)單超市管理,具體要求如下:1 實(shí)現(xiàn)描述超市的類(lèi)Suppermacket類(lèi),具有貨架屬性,記錄系統(tǒng)中現(xiàn)有商品,定義盤(pán)
23、點(diǎn)商品的函數(shù)check(盤(pán)點(diǎn)各類(lèi)商品的數(shù)量,并輸出盤(pán)點(diǎn)結(jié)果),查詢(xún)商品的函數(shù)query,并顯示查詢(xún)結(jié)果;2 定義商品類(lèi)Goods,具有商品名稱(chēng)Name,商品價(jià)格Price,商品產(chǎn)地Producer等屬性,操作Sale(銷(xiāo)售商品,余額不足時(shí)給予提示)、Add(商品上架操作)和ShowMe(顯示商品信息)。3 main函數(shù),測(cè)試以上所要求的各種功能,即可以根據(jù)菜單命令增加、刪除、查詢(xún)商品、盤(pán)點(diǎn)商品,以及商品銷(xiāo)售和商品上架的操作提示: 超市貨架可以使用商品數(shù)組,數(shù)組大小100表明存放100個(gè)商品。 注意實(shí)現(xiàn)商品查詢(xún)的多態(tài)性,要求可以根據(jù)商品的名稱(chēng)或產(chǎn)地或價(jià)格查詢(xún)商品的數(shù)量。import java.i
24、o.*;import java.util.Scanner;public class Main static String name;static float price;static int num;static String producer;static Supermarkt market=new Supermarkt();public static void main(String args)throws IOExceptionint i=0;while(true)market.ShowMenu();i=Integer.parseInt(Getline();switch(i)case 1
25、: Add();break;case 2: Del();break;case 3: Showgoods();break;case 4: Query();break;case 5: System.out.print("成功退出系統(tǒng)");return;default:System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入!");break;public static void Query() System.out.println("*查詢(xún)商品*");System.out.print("商品名:");name=Ge
26、tline();if(!market.Query(name)System.out.print("沒(méi)有該商品");public static void Showgoods() System.out.println("*顯示所有商品*");if(!market.Showgoods()System.out.println("沒(méi)有任何商品");public static void Del() System.out.println("*刪除商品*");System.out.print("商品名稱(chēng):");n
27、ame=Getline();if(market.Del(name)System.out.println("刪除商品->" + name + " 成功!");elseSystem.out.println("該商品不存在");public static void Add() System.out.println("*增加商品*");System.out.print("商品名稱(chēng):");name=Getline();System.out.print("商品價(jià)格:");price
28、=Float.parseFloat(Getline();System.out.print("商品數(shù)量:");num=Integer.parseInt(Getline();System.out.print("商品產(chǎn)地:");producer=Getline();if (market.Add(name, price, num,producer) System.out.println("增加商品->" + name + " 成功!"); else System.out.println("存在相同商品,增加
29、失敗!");public static String Getline() Scanner scan = new Scanner(System.in);String str = scan.nextLine();return str.trim();Goodspublic class Goods private String name;private float price;private int num;private String producer;public Goods(String name,float price,int num,String producer)this.nam
30、e=name;this.price=price;this.num=num;ducer=producer;public String GetName()return ;public float GetPrice()return this.price;public int GetNum()return num;public String GetProducer()return ducer;public void Showgoods()System.out.print("商品名稱(chēng): "+name+" 商品價(jià)格:"
31、;+price+" 商品數(shù)量:"+num+" 商品產(chǎn)地:"+producer+"n");Supermarketimport java.util.Vector;public class Supermarkt static Vector<Goods> listgoods=new Vector<Goods>();public void ShowMenu() System.out.println("-");System.out.println("1.增加商品 ");System.
32、out.println("2.刪除商品");System.out.println("3.顯示商品 ");System.out.println("4.查詢(xún)商品 ");System.out.println("5.退出系統(tǒng) ");System.out.println("-");return;/增加商品public boolean Add(String name,float price, int num,String producer)int count=listgoods.size();for(int
33、 i=0;i<count;i+)if(listgoods.get(i).GetName().equals(name)return false;Goods newgoods =new Goods(name,price,num,producer);listgoods.add(newgoods);return true;/刪除商品public boolean Del(String name)int count=listgoods.size();for(int i=0;i<count;i+)if(listgoods.get(i).GetName().equals(name)listgood
34、s.remove(i);return true;return false;/顯示商品public boolean Showgoods()int count=listgoods.size();if(count=0)return false;else for(int i=0;i<count;i+)listgoods.get(i).Showgoods();return true;/查詢(xún)商品public boolean Query(String name)int count=listgoods.size();for(int i=0;i<count;i+)if(listgoods.get(i
35、).GetName().equals(name)listgoods.get(i).Showgoods();return true;return false;結(jié)果:3.討論、心得 通過(guò)實(shí)驗(yàn),我掌握J(rèn)ava面向?qū)ο蟪绦蛟O(shè)計(jì)中類(lèi)、繼承、包和接口的概念與應(yīng)用,能熟練應(yīng)用方法、類(lèi)、成員變量等元素,在實(shí)驗(yàn)過(guò)程中的確遇到過(guò)很多問(wèn)題,不像前幾章那樣較容易實(shí)現(xiàn)各功能,我發(fā)現(xiàn)自己在知識(shí)方面還有很多的不足,在平時(shí)的練習(xí)中也不懂得擴(kuò)展與舉一反三,導(dǎo)致這次的實(shí)驗(yàn)做得馬馬虎虎,除此之外也體會(huì)到了面向?qū)ο蟪绦蛟O(shè)計(jì)相對(duì)于過(guò)程化程序設(shè)計(jì)的優(yōu)越性,總之,語(yǔ)言是一門(mén)技巧,要想能熟練掌握,必須多加練習(xí)。實(shí)驗(yàn)4 Java異常處理1.實(shí)
36、驗(yàn)?zāi)康恼莆债惓5母拍?,以及如何定義、拋出和捕獲處理異常。2.實(shí)驗(yàn)內(nèi)容(1) 做實(shí)驗(yàn)之前要求思考以下問(wèn)題,作為預(yù)習(xí)內(nèi)容;1 錯(cuò)誤和異常有何區(qū)別?查看Java異常類(lèi)的關(guān)系圖。2 異常是如何拋出、捕獲和處理的?3 Java捕獲和處理異常的結(jié)構(gòu)式怎樣的?4 Try語(yǔ)句如何嵌套?Trow語(yǔ)句有何作用?Finally程序快的作用是什么?(1)錯(cuò)誤和異常有什么區(qū)別?答:致命性錯(cuò)誤:如程序進(jìn)入死循環(huán),或遞歸無(wú)法結(jié)束,或內(nèi)存溢出,稱(chēng)之為錯(cuò)誤。錯(cuò)誤只能在編程階段解決,只能依靠其他程序干預(yù),否則一直處于非正常狀態(tài)。 而非致命性的異常:如運(yùn)算時(shí)除數(shù)為0,或操作數(shù)超出范圍,或打開(kāi)一個(gè)文件時(shí)發(fā)現(xiàn)文件并不存在,或欲裝入的類(lèi)
37、文件丟失,或網(wǎng)絡(luò)連接中斷等,這類(lèi)現(xiàn)象稱(chēng)為異常。(2)異常是如何拋出、捕獲和處理的?答:1、Java程序在執(zhí)行過(guò)程中如出現(xiàn)異常,會(huì)自動(dòng)生成一個(gè)異常類(lèi)對(duì)象,該異常對(duì)象將被提交給Java運(yùn)行時(shí)系統(tǒng),這個(gè)過(guò)程稱(chēng)為拋出(throw)異常。2、當(dāng)Java運(yùn)行時(shí)系統(tǒng)接收到異常對(duì)象時(shí),會(huì)尋找能處理這一異常的代碼并把當(dāng)前異常對(duì)象交給其處理,這一過(guò)程稱(chēng)為捕獲(catch)異常。3、如果Java運(yùn)行時(shí)系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將終止,相應(yīng)的Java程序也將退出。4、對(duì)于RuntimeException,通常不需要我們?nèi)ゲ东@,這類(lèi)異常由Java運(yùn)行系統(tǒng)自動(dòng)拋出并自動(dòng)處理。5、派生類(lèi)構(gòu)造方法的異常說(shuō)明必
38、須包含基類(lèi)構(gòu)造方法的異常說(shuō)明,即派生類(lèi)構(gòu)造方法的異常必須為基類(lèi)異?;蚱涓割?lèi),當(dāng)基類(lèi)構(gòu)造方法沒(méi)有異常時(shí),派生類(lèi)構(gòu)造方法也可以異常聲明。注意,派生類(lèi)構(gòu)造器不能捕獲基類(lèi)構(gòu)造方法拋出的異常。6、派生類(lèi)方法可以不拋出異常,即使基類(lèi)有異常說(shuō)明,如果派生類(lèi)方法有異常說(shuō)明,必須是基類(lèi)異?;蚱渥宇?lèi),而且當(dāng)基類(lèi)沒(méi)有異常聲明時(shí),派生類(lèi)方法不允許異常聲明(關(guān)于構(gòu)造方法見(jiàn)5中的說(shuō)明)。7、我們可以在方法聲明時(shí),聲明一個(gè)不會(huì)拋出的異常,Java編譯器就會(huì)強(qiáng)迫方法的使用者對(duì)異常進(jìn)行處理。這種方式通常應(yīng)用于abstract class和interface中。(3)Java捕獲和處理異常的結(jié)構(gòu)是怎樣的?答:使用try-catc
39、h-finaly語(yǔ)句來(lái)捕獲,獲得異常后自己處理或者讓系統(tǒng)自己處理。(4)為了避免程序運(yùn)行時(shí)可能出現(xiàn)的錯(cuò)誤,將程序代碼放在try程序塊中,緊跟在try語(yǔ)句后面包括一個(gè)catch語(yǔ)句,用來(lái)指定需要捕獲的異常類(lèi)型。 在程序中發(fā)生異常時(shí),程序員可以?huà)伋?throw)一個(gè)自定義異常類(lèi)的實(shí)例,將其放到異常隊(duì)列中去,并激活java的異常處理機(jī)制。 當(dāng)拋出一個(gè)異常時(shí),程序的執(zhí)行就不再是線(xiàn)性的,這樣就有可能導(dǎo)致方法的執(zhí)行中斷。在java語(yǔ)言中,使用finally語(yǔ)句來(lái)解決此類(lèi)問(wèn)題。Finally語(yǔ)句創(chuàng)建一個(gè)代碼塊,在try/catch語(yǔ)句執(zhí)行后執(zhí)行,不管是否拋出一個(gè)異常,系統(tǒng)都將執(zhí)行finally語(yǔ)句的程序代碼
40、。(2) 運(yùn)行下面的程序,理解異常的拋出、捕獲與處理。Import java.io.*;public class void main(String args) public staic void main(String args) for(int i=0;i<4;i+) int k; try switch(i) case 0: /divided by zero int zero=0; k=911 /zero break; case 1:/null pointer int b=null; k=b0; break; case 2; /array index out of bound int
41、c=new int2; k=c9; break; case 3: /string index out of bound char ch="abc".charAt(99); break; catch(Exception e) System.out.println("nTestcase#"+i+"n"); System.out.println(e); 以下實(shí)驗(yàn)內(nèi)容運(yùn)行結(jié)果為:(3)在實(shí)驗(yàn)三中的超市、商品類(lèi)中創(chuàng)建一個(gè)自定義異常類(lèi)。 要求:在定義商品類(lèi)時(shí),若銷(xiāo)售商品數(shù)量大于余額則作為異常處理(InsufficientFundsExceptio
42、n)。提示:1 產(chǎn)生異常條件是某類(lèi)商品銷(xiāo)售數(shù)量大于庫(kù)存額,因此是否拋出異常要先判斷該條件。2 確定產(chǎn)生異常的方法,應(yīng)該在sale方法中產(chǎn)生異常Insufficient Funds Exception。3 處理異常安排在調(diào)用sale的時(shí)候,因此sale方法要聲明異常,由上級(jí)方法捕獲并處理。4 要定義好自己的異常。import java.util.Scanner;public class Z6_3 private long balance=0;public void deposit(long x) /存款balance=balance+x;System.out.println("存&qu
43、ot;+x+"元成功");public void withdraw(long x)throws InsufficientFundsException /取款 if(x<=balance) balance=balance-x; System.out.println("取"+x+"元成功"); else throw new InsufficientFundsException("余額小于取款額,取款失敗"+"n"); public void getbalance(long x) /查詢(xún)Syst
44、em.out.println("您的余額為:"+balance); public static void main(String args) Z6_3 account=new Z6_3();Scanner in=new Scanner(System.in);while(true)System.out.println("請(qǐng)輸入您接下來(lái)進(jìn)行的操作序號(hào):1存款;2取款;3查詢(xún)余額");int i=in.nextInt(); switch(i) case 1:System.out.print("請(qǐng)輸入存款的數(shù)額:");int j=in.nex
45、tInt();account.deposit(j);break; case 2:System.out.print("請(qǐng)輸入取款的數(shù)額:");int k=in.nextInt(); try account.withdraw(k); catch(InsufficientFundsException f) System.out.print(f.getMessage(); break; case 3:account.getbalance(account.balance);break; class InsufficientFundsException extends Exceptio
46、npublic InsufficientFundsException(String msg)super(msg);3. 討論、心得 在程序的整個(gè)運(yùn)行過(guò)程中,程序比較容易調(diào)試,也沒(méi)出現(xiàn)任何問(wèn)題,即使如此,我覺(jué)得要真正掌握這一部分內(nèi)容也不是那么容易,所以以后我更應(yīng)該多去嘗試新的題型,希望能徹底把這一部分給掌握了,以至于使所編寫(xiě)的程序更加健壯,完美。實(shí)驗(yàn)5 多線(xiàn)程編程1.實(shí)驗(yàn)?zāi)康?1) 現(xiàn)成的概念、線(xiàn)程的生命周期。(2) 多線(xiàn)程的編程:擴(kuò)展Thread類(lèi)與使用Runnable接口。(3) 使用多線(xiàn)程機(jī)制實(shí)現(xiàn)動(dòng)畫(huà)2.實(shí)驗(yàn)內(nèi)容(1) 運(yùn)行下面的程序,理解用創(chuàng)建Thread子類(lèi)的方法實(shí)現(xiàn)多線(xiàn)程。/S09_
47、01_Thread.JavaImport java.util.*;class S09_01_Thread extends Thread int pauseTime; String name; public S09_01_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+":"+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exceptio
48、n e)System.out.println(e); static public void main(String srgs) S09_01_Thread tp1=new S09_01_Thread(1000,"Fast"); tp1.start(); S09_01_Thread tp2=new S09_01_Thread(3000,"Slow"); tp2.start(); (2) 運(yùn)行下面的程序,理解用實(shí)現(xiàn)Runnable接口的方法實(shí)現(xiàn)多線(xiàn)程。/S09_02_Thread.JavaImport java.util.*;class S09_02_Thr
49、ead implements Runnable int pauseTime; String name; public S09_02_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+":"+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public voi
50、d main(String srgs) Thread t1=new Thread(new S09_02_Thread(1000,"Fast"); t1.start(); Thread t2=new Thread(new S09_02_Thread(3000,"Slow"); t2.start(); (3) 創(chuàng)建簡(jiǎn)單的程序ThreeThread.java,該程序?qū)?chuàng)建三個(gè)線(xiàn)程,每個(gè)線(xiàn)程應(yīng)當(dāng)顯示它所運(yùn)行的時(shí)間(可以考慮使用Date類(lèi)或Calendar類(lèi))。package 線(xiàn)程;import java.util.*;public class L09_03_Th
51、reeThread extends Thread int pauseTime; String name; public L09_03_ThreeThread(int x,String n) pauseTime=x; name=n; public void run() while(true) try System.out.println(name+":"+new Date(System.currentTimeMillis(); catch(Exception e) System.out.println(e); public static void main(String args) L09_03_ThreeThread tp1=new L09_03_ThreeThread(1000,"Fast"); tp1.start(); L09_03_ThreeThread tp2=new L09_03_ThreeThread(2000
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年膠合板行業(yè)現(xiàn)狀分析:我國(guó)膠合板領(lǐng)域?qū)@暾?qǐng)地區(qū)廣泛
- 陜西省渭南市尚德中學(xué)2024-2025學(xué)年高一上學(xué)期第一次階段性考試數(shù)學(xué)試卷(解析版)
- 湖北省恩施州高中教育聯(lián)盟2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 井點(diǎn)降水施工方案設(shè)計(jì)
- 2025年事故調(diào)查報(bào)告試題及答案
- 食品罐體保溫施工方案
- 2025年藥物檢測(cè)員面試題及答案
- cmdb架構(gòu)邏輯精講
- 等距離特征映射降維算法研究故障檢測(cè)
- 地震安標(biāo)證書(shū)
- 2024年新人教版五年級(jí)數(shù)學(xué)下冊(cè)《教材練習(xí)2練習(xí)二附答案》教學(xué)課件
- 《邊教書(shū)邊成長(zhǎng)》讀書(shū)分享課件
- 杭州蕭山農(nóng)商銀行招聘真題
- GB/T 44325-2024工業(yè)循環(huán)冷卻水零排污技術(shù)規(guī)范
- 2024年重慶市高考思想政治試卷真題(含答案解析)
- 成人鼻腸管的留置與維護(hù)(2021團(tuán)體標(biāo)準(zhǔn)解讀)-20221004172843
- 機(jī)械制造質(zhì)量手冊(cè)(一)
- 2024-2030年中國(guó)互聯(lián)網(wǎng)+印刷行業(yè)深度分析及發(fā)展戰(zhàn)略研究咨詢(xún)報(bào)告
- 水庫(kù)綠化景觀設(shè)計(jì)項(xiàng)目招標(biāo)文件模板
- 藥物中毒病人的護(hù)理查房
- 2024年中儲(chǔ)糧集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
評(píng)論
0/150
提交評(píng)論