版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Java程序設(shè)計(jì)總復(fù)習(xí)題1、編寫一個(gè)Java程序在屏幕上輸出“你好!”。(p13,例1-1) /programme name Helloworld.java public class Helloworld public static void main(String args) System.out.print (你好! ); 2. 編寫一個(gè)Java程序,用if-else語句判斷某年份是否為閏年。/ Programme Name LeapYear.javapublic class LeapYearpublic static void main(String args)int year=201
2、0; if(args.length!=0) year=Integer.parseInt(args0);if(year%4=0 & year%100!=0)|(year%400=0) System.out.println(year+ 年是閏年。);else System.out.println(year+ 年不是閏年。); /if-else語句3、編寫一個(gè)Java程序在屏幕上輸出1!+2!+3!+10!的和。(p64,例2-2)/ programme name ForTest.javapublic class ForTest public static void main( String arg
3、s ) int i,j,mul,sum=0;for(i=1;i=10;i+) mul=1;for(j=1,j=i;j+) mul=mul*j; sum=sum+mul;System.out.println(“1!+2!+3!+10!= ”+sum);4. (1)編寫一個(gè)圓類Circle,該類擁有:一個(gè)成員變量Radius(私有,浮點(diǎn)型); / 存放圓的半徑; 兩個(gè)構(gòu)造方法 Circle( ) / 將半徑設(shè)為0 Circle(double r ) /創(chuàng)建Circle對(duì)象時(shí)將半徑初始化為r 三個(gè)成員方法 double getArea( ) /獲取圓的面積 double getPerimeter(
4、) /獲取圓的周長(zhǎng) void show( ) /將圓的半徑、周長(zhǎng)、面積輸出到屏幕(2)編寫一個(gè)圓柱體類Cylinder,它繼承于上面的Circle類。還擁有:一個(gè)成員變量double hight(私有,浮點(diǎn)型); / 圓柱體的高; 構(gòu)造方法 Cylinder (double r, double h ) /創(chuàng)建Circle對(duì)象時(shí)將半徑初始化為r 成員方法 double getVolume( ) /獲取圓柱體的體積 void showVolume( ) /將圓柱體的體積輸出到屏幕編寫應(yīng)用程序,創(chuàng)建類的對(duì)象,分別設(shè)置圓的半徑、圓柱體的高,計(jì)算并分別顯示圓半徑、圓面積、圓周長(zhǎng),圓柱體的體積。/Prog
5、ramme Name TestCylinder.java class Circle /定義父類-園類private double radius; /成員變量-園半徑Circle() /構(gòu)造方法radius=0.0;Circle(double r) /構(gòu)造方法 radius=r; double getPerimeter() /成員方法-求園周長(zhǎng)return 2*Math.PI*radius;double getArea() /成員方法-求園面積return Math.PI*radius*radius;void disp() /成員方法-顯示園半徑、周長(zhǎng)、面積System.out.println(
6、園半徑=+radius);System.out.println(園周長(zhǎng)=+getPerimeter();System.out.println(園面積=+getArea();class Cylinder extends Circle /定義子類-圓柱類private double hight; /成員變量-園柱高Cylinder(double r,double h) /構(gòu)造方法 super(r);hight=h;public double getVol() /成員方法-求園柱體積return getArea()*hight;public void dispVol() /成員方法-顯示園柱體積Sy
7、stem.out.println(圓柱體積=+getVol();public class TestCylinder /定義主類public static void main(String args) /主程入口 Circle Ci=new Circle(10.0); / 生成園類實(shí)例 Ci.disp(); / 調(diào)用園類的方法 Cylinder Cyl=new Cylinder(5.0,10.0); /生成圓柱類實(shí)例 Cyl.disp(); /調(diào)用父類方法 Cyl.dispVol(); /調(diào)用子類方法 5、編寫一個(gè)Java應(yīng)用程序,從鍵盤讀取用戶輸入兩個(gè)字符串,并重載3個(gè)函數(shù)分別實(shí)現(xiàn)這兩個(gè)字符串
8、的拼接、整數(shù)相加和浮點(diǎn)數(shù)相加。要進(jìn)行異常處理,對(duì)輸入的不符合要求的字符串提示給用戶,不能使程序崩潰。(p39,例2-10,2-11)/programme name Strinput.javaimport java.io.*;public class Strinput public static void main(String args) String s1,s2,ss,si,sf; int i1,i2; float f1,f2; BufferedReader strin=new BufferedReader(new InputStreamReader(System.in); trySyste
9、m.out.print (輸入第一個(gè)字符串: ); s1= strin.readLine(); System.out.print (輸入第二個(gè)字符串: ); s2= strin.readLine(); catch(Exception e) System.out.println(e.getMessage(); i1 = Integer.parseInt(s1); i2 = Integer.parseInt(s2); f1 = Float.parseFloat(s1); f2 = Float.parseFloat(s2); ss = strAdd(s1,s2); si = strAdd(i1,i2
10、); sf = strAdd(f1,f2); Sln (輸入的二個(gè)字符串相加結(jié)果為:+ss ); Sln (輸入字符串轉(zhuǎn)換為整數(shù)相加結(jié)果為:+si ); Sln (輸入字符串轉(zhuǎn)換為浮點(diǎn)數(shù)相加結(jié)果為:+sf ); String strAdd(String str1,String str2) return str1+str2;String strAdd(int int1,int int2) return String.valueOf(int1+int2);String strAdd(float flt1,float flt2) return String.valueOf (flt1+flt2);
11、6. 應(yīng)用FileInputStream類,編寫應(yīng)用程序,從磁盤上讀取一個(gè)Java程序,并將源程序代碼顯示在屏幕上。(被讀取的文件路徑為:E:/myjava/Hello.java)/ Programme Name FISDemo.javaimport java.io.*; public class FISDemo public static void main(String args) byte buf=new byte2056; try FileInputStream fileIn=new FileInputStream(e:/myjava/Hello.java); int bytes=fi
12、leIn.read(buf,0,2056); String str=new String(buf,0,bytes); System.out.println(str);catch(Exception e) e.printStackTrace( );7、編寫一個(gè)Java程序?qū)?dāng)100,101,102,103,104,105個(gè)數(shù)以數(shù)組的形式寫入到Dest.txt文件中,并以相反的順序讀出顯示在屏幕上。(p190,例7-2) /programme name IODemo.java import java.io.*; public class IODemo public static void main
13、( String args ) int data = 100,101,102,103,104,105;int t;try DataOutputStream out = new DataOutputStream (new FileOutputStream(“dest.txt”); for(int i=0;i= 0;i-) t=in.readInt(datai); System.out.print(“ ”+t); ln( ); in.close();catch(IOException e) System.out.println(e.getMessage(); 8. 利用Applet類和Runnab
14、le接口實(shí)現(xiàn)滾動(dòng)字幕,其中字幕文字(“學(xué)好Java有工作”)和時(shí)間間隔(“200”)需要由頁面文件中標(biāo)記的子標(biāo)記傳遞。import java.awt.Color;import java.awt.Graphics;import javax.swing.JApplet;public class MoveMessage extends JApplet implements Runnable String str;int time;private Thread thread;public void init() setBackground(Color.PINK);str = getParameter(
15、message);String timeArg = getParameter(time);time = Integer.parseInt(timeArg);thread = new Thread(this);public void start() thread.start();public void run() int x = 0;Graphics g = getGraphics();while (true) try Thread.sleep(time); catch (Exception e) e.printStackTrace();g.clearRect(0, 0, getWidth(),
16、 getHeight();g.drawString(str, x, 30);x += 2;if (x = getWidth()x = 0;9、編寫一個(gè)Java程序?qū)崿F(xiàn)多線程,在線程中輸出線程的名字,隔300毫秒輸出一次,共輸出20次。(p202,例8-1) / programme name TestThread; / 聲明一個(gè)子線程類Threaddemo; class ThreadDemo extends Thread public ThreadDemo(String str) super(str); public void run() for(int i=0;i20;i+)System.ou
17、t.print(“ ”+this.getName();Try Sleep(300);catch(InterruptedException e) System.out.println(e.getMessage(); Return;System.out.println(“ /end”);public class TestThread public static void main( String args ) ThreadDemo thread1=new ThreadDemo(“T1”); ThreadDemo thread2=new ThreadDemo(“T2”); ThreadDemo th
18、read3=new ThreadDemo(“T3”); thread1.start(); thread2.start(); thread3.start(); 10. 編寫程序,在屏幕上顯示帶標(biāo)題的窗口,并添加一個(gè)按鈕。當(dāng)用戶單擊按鈕時(shí),結(jié)束程序。/ Programme Name ButtonEventDemo.javaimport javax.swing.*;import java.awt.event.*;public class ButtonEventDemo extends JPanel implements ActionListenerprotected JButton b1;/聲明一個(gè)
19、按鈕對(duì)象public ButtonEventDemo() /構(gòu)造方法ImageIcon ButtonIcon = new ImageIcon(images/green.png); /創(chuàng)建按鈕的圖標(biāo)對(duì)象 b1 = new JButton(退出按鈕, ButtonIcon); /生成按鈕對(duì)象b1.setMnemonic(KeyEvent.VK_E); /設(shè)置b1的助記符是Alt+E b1.setToolTipText(這是退出按鈕。);/ 設(shè)置按鈕提示條 this.add(b1); /往面板對(duì)象中加載按鈕 b1.addActionListener(this); /本類對(duì)象注冊(cè)為按鈕的事件監(jiān)聽器 p
20、ublic void actionPerformed(ActionEvent e)/按鈕事件響應(yīng)方法System.exit(0); /按b1則退出主程序 private static void createGUI() /創(chuàng)建窗體 JFrame.setDefaultLookAndFeelDecorated(true); /設(shè)置java隱含觀感 JFrame frame = new JFrame(按鈕測(cè)試); /生成應(yīng)用程序主窗體 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /設(shè)置關(guān)閉時(shí)隱含操作 ButtonEventDemo CPa
21、ne = new ButtonEventDemo(); /生成主類對(duì)象-面板 CPane.setOpaque(true); /面板要求不透明 frame.setContentPane(CPane); /設(shè)置主類對(duì)象為主窗體的內(nèi)容面板 frame.pack(); /主窗體緊縮顯示 frame.setVisible(true); /設(shè)置主窗體可見 public static void main(String args) /將createGUI()列入線程 javax.swing.SwingUtilities.invokeLater(new Runnable() public void run()
22、createGUI(); ); 11. 利用線程方法編寫JApplet程序,實(shí)現(xiàn)在瀏覽器端實(shí)時(shí)動(dòng)態(tài)顯示本地系統(tǒng)時(shí)鐘/ Programme Name Watch.javaimport java.applet.Applet;import java.awt.*;import java.text.DateFormat;import java.util.*;public class Watch extends Applet public void paint(Graphics g) Date d= new Date(); DateFormat ldf = DateFormat.getDateTimeIn
23、stance(DateFormat.LONG, DateFormat.LONG); /System.out.println(現(xiàn)在系統(tǒng)時(shí)間是(long):+ ldf.format(d); String time = ldf.format(d).toString(); g.drawString(time, 100, 100); try Thread.sleep(1000); catch (InterruptedException e) repaint(); JavaAppletDemo / 保存為Watch.html 文件12、定義一個(gè)表示學(xué)生信息的類Student,要求如下:(1)類Studen
24、t的成員變量:sNO表示學(xué)號(hào);sName表示姓名;sSex表示性別;sAge表示年齡;sJava:表示Java課程成績(jī)。(2)類Student帶參數(shù)的構(gòu)造方法: 在構(gòu)造方法中通過形參完成對(duì)成員變量的賦值操作。(3)類Student的方法成員:getNo():獲得學(xué)號(hào); getName():獲得姓名; getSex():獲得性別;getAge()獲得年齡;getJava():獲得Java 課程成績(jī)(4) 根據(jù)類Student的定義,創(chuàng)建五個(gè)該類的對(duì)象,輸出每個(gè)學(xué)生的信息,計(jì)算并輸出這五個(gè)學(xué)生Java語言成績(jī)的平均值,以及計(jì)算并輸出他們Java語言成績(jī)的最大值和最小值。/Pragramme nam
25、e Student;public class Student String sNO,sName,sSex;int sAge,sJava;public Student(String XH,String XM,String XB,int NL,int XF) super(); sNO=XH; sName=XM; sSex=XB; sAge=NL; sJava=XF; public String getNO() return sNO;public String getName() return sName;public String getSex() return sSex;public int g
26、etAge() return sAge;public int getJava() return sJava;public static void main(String args) Student st=new Student5;st0=new Student(09zc01,張三,男,19,94);st1=new Student(09zc02,李四,男,20,85);st2=new Student(09zc03,王五,女,18,96);st3=new Student(09zc04,趙六,男,17,90);st4=new Student(09zc05,楊七,女,21,88); int max=0
27、,min=100,sum=0; System.out.println( 學(xué)生信息:); for (int i=0;ist.length;i+) if (sti.sJava max) max=sti.sJava; sum=sum+sti.sJava; System.out.println(學(xué)生編號(hào):+sti.getNO()+, 姓名:+sti.getName()+, 性別:+sti.getSex()+, 年齡:+sti.getAge()+, Java課學(xué)分:+sti.getJava(); System.out.println(); System.out.println( 共有學(xué)生:+st.len
28、gth+, 平均成績(jī):+sum/st.length); System.out.println( 最小學(xué)分:+min+, 最大學(xué)分:+max);【程序1】題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?/這是一個(gè)菲波拉契數(shù)列問題public class lianxi01 public static void main(String args) System.out.println(第1個(gè)月的兔子對(duì)數(shù): 1);System.out.println(第2個(gè)月的兔子對(duì)數(shù): 1);int f1 = 1,
29、f2 = 1, f, M=24; for(int i=3; i=M; i+) f = f2; f2 = f1 + f2; f1 = f; System.out.println(第 + i +個(gè)月的兔子對(duì)數(shù): +f2); 【程序2】題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。 程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2到sqrt(這個(gè)數(shù)),如果能被整除, 則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。public class lianxi02 public static void main(String args) int count = 0; for(int i=101; i200; i+=
30、2) boolean b = false; for(int j=2; j=Math.sqrt(i); j+) if(i % j = 0) b = false; break; else b = true; if(b = true) count +;System.out.println(i ); System.out.println( 素?cái)?shù)個(gè)數(shù)是: + count);【程序3】題目:打印出所有的 水仙花數(shù) ,所謂 水仙花數(shù) 是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè) 水仙花數(shù) ,因?yàn)?53=1的三次方5的三次方3的三次方。public class lianxi03 publi
31、c static void main(String args) int b1, b2, b3; for(int m=101; m1000; m+) b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if(b3*b3*b3 + b2*b2*b2 + b1*b1*b1) = m) System.out.println(m+是一個(gè)水仙花數(shù)); 【程序4】題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。程序分析:對(duì)n進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù)k,然后按下述步驟完成:(1)如果這個(gè)質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束
32、,打印出即可。(2)如果n k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行第一步。(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。import java.util.*;public class lianxi04 public static void main(String args) Scanner s = new Scanner(System.in); System.out.print( 請(qǐng)鍵入一個(gè)正整數(shù): ); int n = s.nextInt(); int k=2; System.out.print(n + = ); while(k
33、 =90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。import java.util.*;public class lianxi05 public static void main(String args) int x; char grade; Scanner s = new Scanner(System.in); System.out.print( 請(qǐng)輸入一個(gè)成績(jī): ); x = s.nextInt(); grade = x = 90 ? A : x = 60 ? B :C; System.out.println(等級(jí)為:+grade); 【程序6】題目:輸入兩個(gè)正整
34、數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。/*在循環(huán)中,只要除數(shù)不等于0,用較大數(shù)除以較小的數(shù),將小的一個(gè)數(shù)作為下一輪循環(huán)的大數(shù),取得的余數(shù)作為下一輪循環(huán)的較小的數(shù),如此循環(huán)直到較小的數(shù)的值為0,返回較大的數(shù),此數(shù)即為最大公約數(shù),最小公倍數(shù)為兩數(shù)之積除以最大公約數(shù)。* /import java.util.*;public class lianxi06 public static void main(String args) int a ,b,m;Scanner s = new Scanner(System.in);System.out.print( 鍵入一個(gè)整數(shù): ); a = s.nextInt
35、();System.out.print( 再鍵入一個(gè)整數(shù): ); b = s.nextInt(); deff cd = new deff(); m = cd.deff(a,b); int n = a * b / m; System.out.println(最大公約數(shù): + m); System.out.println(最小公倍數(shù): + n); class deffpublic int deff(int x, int y) int t; if(x y) t = x; x = y; y = t; while(y != 0) if(x = y) return x; else int k = x %
36、y; x = y; y = k; return x; 【程序7】題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。import java.util.*;public class lianxi07 public static void main(String args) int digital = 0;int character = 0;int other = 0;int blank = 0; char ch = null; Scanner sc = new Scanner(System.in); String s = sc.nextLine(); ch = s.toCha
37、rArray(); for(int i=0; i= 0 & ch = a & ch A & ch = Z) character +; else if(ch = ) blank +; else other +; System.out.println(數(shù)字個(gè)數(shù): + digital); System.out.println(英文字母?jìng)€(gè)數(shù): + character); System.out.println(空格個(gè)數(shù): + blank); System.out.println(其他字符個(gè)數(shù): + other );【程序8】題目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個(gè)數(shù)字。例如2+
38、22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),幾個(gè)數(shù)相加有鍵盤控制。import java.util.*;public class lianxi08 public static void main(String args) long a , b = 0, sum = 0; Scanner s = new Scanner(System.in); System.out.print(輸入數(shù)字a的值: ); a = s.nextInt(); System.out.print(輸入相加的項(xiàng)數(shù):); int n = s.nextInt(); int i = 0; while(i n) b =
39、b + a; sum = sum + b; a = a * 10; + i; System.out.println(sum); 【程序9】題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為 完數(shù) 。例如6=123.編程 找出1000以內(nèi)的所有完數(shù)。public class lianxi09 public static void main(String args) System.out.println(1到1000的完數(shù)有: ); for(int i=1; i1000; i+) int t = 0; for(int j=1; j= i/2; j+) if(i % j = 0) t = t + j
40、; if(t = i) System.out.print(i + ); 【程序10】題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時(shí),共經(jīng)過多少米?第10次反彈多高? public class lianxi10 public static void main(String args) double h = 100,s = 100; for(int i=1; i10; i+) s = s + h; h = h / 2; System.out.println(經(jīng)過路程: + s); System.out.println(反彈高度: + h / 2);
41、【程序11】題目:有1、2、3、4四個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?public class lianxi11 public static void main(String args) int count = 0; for(int x=1; x5; x+) for(int y=1; y5; y+) for(int z=1; z 0 & x 10 & x 20 & x 40 & x 60 & x 100) y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01; System.out.println(應(yīng)該提取的獎(jiǎng)金是 + y + 萬);【程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度虛擬現(xiàn)實(shí)設(shè)備研發(fā)與委托生產(chǎn)合同
- 2024年度機(jī)械設(shè)備買賣合同樣本
- 2024年度人力資源外包與招聘服務(wù)協(xié)議
- 2024年度物流園區(qū)建設(shè)與運(yùn)營(yíng)合同
- 2024年員工保密協(xié)議模板
- 2024年度自建房施工合同終止合同
- 2024年工程預(yù)付款資金監(jiān)管協(xié)議
- 2024出版社與作者之間的出版合同
- 2024年度企業(yè)文化建設(shè)合作協(xié)議
- 2024年建筑企業(yè)與監(jiān)理單位服務(wù)協(xié)議
- 中國女性生理健康白皮書
- 天然氣巡檢記錄表
- 甲苯磺酸瑞馬唑侖臨床應(yīng)用
- 民法典講座-繼承篇
- 外包施工單位入廠安全培訓(xùn)(通用)
- 糖尿病健康知識(shí)宣教課件
- 客戶接觸點(diǎn)管理課件
- Python語言學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫2023年
- 醫(yī)學(xué)-心臟驟停急救培訓(xùn)-心臟驟停急救教學(xué)課件
- 高中英語-Book 1 Unit 4 Click for a friend教學(xué)課件設(shè)計(jì)
- 年產(chǎn)30萬噸碳酸鈣粉建設(shè)項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論