




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、浙江大學遠程教育學院高級程序設計JAVA課程作業(選做)姓名:吳文杰學 號:716129242005年級:16春學習中心:紫金港第一章1 簡述面向過程問題求解和面向對象問題求解的異同。面向對象: 舉個例子,蓋一座大樓,你想到的是樓怎么蓋,哪里要有柱子,哪里要有梁,哪里樓梯等等(這就是面向對象),至于柱子該怎么建,用什么建,方的圓的,等等,這就是面向過程。 用面向對象思考問題更符合我們人的思考方式。 其實我們人現實生活中都是在面向對象。比如:去飯店吃飯,你只要說明吃什么就可以了,有必要還了解這個菜是怎么做的,是哪里來的,怎么去種這個菜嗎? 面向對象也可以說是從宏觀方面思考問題,而面向過程可以說是
2、從細節處思考問題。在面向對象中,也存在面向過程。2 面向對象的程序設計方法有哪些優點?1、易維護采用面向對象思想設計的結構,可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的.2、質量高在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求并具有較高的質量.3、效率高在軟件開發時,根據設計的需要對現實世界的事物進行抽象,產生類.使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高軟件開發的效率和質量.4、易擴展由于繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較
3、低.第二章1 編寫一個JavaApplication,利用JDK軟件包中的工具編譯并運行這個程序,在屏幕上輸出“Welcome to Java World!”。/* * Created by wuwj on 2016/12/3. */public class Test public static void main(String args) System.out.println("Welcome to Java World!"); 2 編寫一個Java Applet,使之能夠在瀏覽器中顯示“Welcome to Java Applet World!”的串信息。control
4、lerpublic class TestResponseBodyRequestMapping(“/test”) public String JavaWorld return "Welcome to Java Applet World!; 3 Java 語言有哪些主要特點?(1)簡單的 從某種意義上講,Java語言是C及C+語言的一個變種,因此,C+程序員可以很快地掌握Java編程技術。Java摒棄了C+中容易引發程序錯誤的一些特性,如指針、結構、枚舉以及內存管理等。Java提供了豐富的類庫,可以幫助我們很方便的開發Java程序。 (2)面向對象的 面向對象可以說是Java最重要的特性
5、,所以它支持繼承、重載、多態等面向對象的特性.Java語言的設計是完全面向對象的,它不支持類似C語言那樣的面向過程的程序設計技術. (3)健壯的 Java致力于檢查程序在編譯和運行時的錯誤。Java也是一種強類型的語言,其類型檢查比C+還要嚴格。類型檢查幫助我們檢查出許多開發早期出現的錯誤。Java自己負責內存管理,提供了垃圾內存回收機制,有效地避免了C+中最頭疼的內存泄漏問題。 (4)安全的 Java的安全性可以從兩個方面得到保證。一方面,在Java語言里,刪除了指針和釋放內存等C+功能,避免了非法內存操作。另一方面,通過Java的安全體系架構來確保Java代碼的安全性。當我們從網上下載Ja
6、va代碼在本地執行時,Java的安全架構能確保惡意的代碼不能隨意訪問我們本地計算機的資源,例如:刪除文件,訪問本地網絡資源等操作都是被禁止的。 (5)解釋的 Java代碼是解釋執行的,我們使用Java編譯器將Java代碼編譯成字節碼,這是一種中間代碼,然后由Java解釋器解釋執行。而C+程序是編譯執行的,C+程序代碼被編譯為本地機器指令,然后執行。 (6)與平臺無關 Java作為一種網絡語言,其源代碼被編譯成一種結構中立的中間文件格式。只要有Java運行系統的機器都能執行這種中間代碼。Java源程序將被編譯成一種與機器無關的字節碼格式,在Java虛擬機上運行。 (7)多線程的 Java語言的一
7、個重要特性就是在語言級支持多線程的程序設計。 (8)動態的 Java的動態特性是其面向對象設計方法的擴展,它允許程序動態地裝入運行過程中所需要的類,這是我們采用C+語言進行面向對象程序設計所無法實現的。第三章習題:1 編寫程序輸出用戶指定數據的所有素數因子import java.util.Scanner;public class Test public static void main(String args) System.out.println("enter a number:"); Scanner sc = new Scanner(System.in); int i
8、= sc.nextInt(); analyse(i); public static void analyse(int i) int j = 2; while (i > 1) for (j = 2; j < i; j+) if (i % j = 0) System.out.println(j); break; i = i / j; System.out.println(j); 2 編寫一個Java程序,接受用戶輸入的一個112之間的整數(如果輸入的數據不滿足這個條件,則要求用戶重新輸入),利用switch語句輸出對應的月份的天數。import java.util.Scanner;/*
9、 * Created by wuwj on 2016/12/3. */public class mytest public static void main(String args) System.out.println("Welcome to Java World!"); Scanner scanner=new Scanner(System.in); int i= scanner.nextInt(); if (i >=1 && i <=12) switch (i) case 1: case 3: case 5: case 7: case 8:
10、case 10: case 12: System.out.println(i+"月有31天"); break; case 4: case 6: case 9: case 11: System.out.println(i+"月有30天"); break; default: System.out.println(i+"月有28天還是29天呢?"); else System.out.println("請重新輸入"); 3 Java對標識符命名有什么規定,下面這些標識符哪些是對的?哪些是錯的,錯在哪里?(1) MyGame
11、 (2)_isHers (3) 2JavaProgram (4) Java-Visual-Machine (5) _$abc答:標識符可以由編程者自由指定,但是需要遵循定的語法規定。標識符要滿足如下的規定: (1)標識符可以由字母、數字和下劃線(_)、美元符號($)組合而成。 (2)標識符必須以字母、下劃線或美元符號開頭,不能以數字開頭。 在實際應用標識符時,應該使標識符能一定程度上反映它所表示的變量、常量、對象或類的意義,這樣程序的可讀性會更好。 題中的標識符中的(3)不對,因為用數字開頭了,(4)也不對,因為其中用了減號。第四章1 有哪些訪問控制符?
12、哪些可以用于修飾類,哪些用來修飾域和方法,試述不同訪問控制符的作用。答:訪問控制符是指public/private/protected等表示訪問控制(Access Control)的修飾符,其作用是更好地控制類及其域、方法的存取權限,更好地實現信息的封裝與隱藏, 方法的訪問控制符包括private, protected, public和“默認訪問控制符”。 類中限定為private的成員(域或方法)只能被這個類本身訪問,即私有訪問控制。 類中的成員缺省訪問控制符時,稱為缺省訪問控制。缺省訪問控制的成員可以被這個類本身和同一個包中的類所
13、訪問,即包訪問控制。 類中限定為protected的成員可以被這個類本身,它的子類(包括同一個包中以及不同包中的子類)以及同一個包中所有其他的類訪問。 類中限定為public的成員可以被所有的類訪問。 Java中還有一種訪問控制符為private proteced,它限定能被本類及其子類可以訪問,而包中的其他非子類的類不能訪問。 類的訪問控制符或者為public,或者缺省。(但內部類可以有private、protected等訪問控制符。) 如果類用public修飾,則該類可以被其他類所訪問;若類缺省訪問控制符,則該類只能被同包中的類訪
14、問。2 改寫本節例子UsePhoneCard成為圖形界面的Applet程序,接受用戶輸入的卡號,密碼,金額和接入號碼,創建PhoneCard類的對象并輸出這張電話卡的有關信息。第五章習題:1 什么是多態,多態有哪些方式?答:多態性(Polymorphism來自希臘語,意思是多種形態)是指允許一個接口訪問動作的通用類的性質。一般地,多態性的概念常被解釋為“一個接口,多種方法”。這意味著可以為一組相關活動設計一個通用接口。多態性允許用相同接口規定一個通用類來減輕問題的復雜度。選擇適當的動作(方法)適應不同環境的工作則留給編譯器去做。作為編程者,無需手工去做這些事情,只需利用通用接口即可。
15、;多態的特點大大提高了程序的抽象程度和簡潔性,更重要的是,它最大限度地降低了類和程序模塊之間的耦合性,提高了類模塊的封閉性,使得它們不需了解對方的具體細節,就可以很好地共同工作。這個優點對于程序的設計、開發和維護都有很大的好處。2. 什么是接口?Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。兩種含義:一,Java接口,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特征集合,是一種邏輯上的抽象。前者叫做“Java接口”,后者叫做“接口”。3. 根
16、據下面的要求編程實現復數類ComplexNumber(1) 復數類ComplexNumber的屬性m_dRealPart: 實部,代表復數的實數部分m_dImaginPart:虛部,代表復數的虛數部分(2)復數類ComplexNumber的方法ComplexNumber()構造函數,將實部,虛部都置為0ComplexNumber(double r, double I)構造函數,創建復數對象的同時完成復數的實部,虛部的初始化GetRealPart()獲取實部GetImaginaryPart()獲取虛部SetRealPart(double d)設置實部SetImaginaryPart(double
17、 d)設置虛部ComplexAdd(ComplexNumber c)復數相加ComplexAdd(double c)復數相加ComplexMinus(ComplexNumber c)復數相減ComplexMinus(double c)復數相減ComplexMulti(ComplexNumber c) 復數相乘ComplexMulti(double c) 復數相乘ToString()把當前復數對象的實部,虛部組合成a+bi的字符串形式/* * Created by wuwj on 2016/12/3. */public class UsePhoneCard
18、0; public static void main(String args) PhoneCard myCard = new PhoneCard(12345678, 1234, 50.0, "300"); System.out.println(myCard.toString(); class Pho
19、neCard long cardNumber; private int password; double balance; String connectNumber; boolean connected; PhoneCard(long cn, int pw, double b, String s)
20、160; cardNumber = cn; password = pw; if (b>0) balance = b; else System.exit(1); connectNumber = s; connected
21、 = false; boolean performConnection(long cn, int pw) if(cn=cardNumber && pw =password) connected = true; return true;
22、; else connected = false; return false; double getBalance() if(connected) return balance; else
23、160; return -1; void performDial() if(connected) balance -=0.5; public String toString() String s =
24、0;"Connected Phone Number: " + connectNumber + "n Card Number: " +cardNumber + "n Card Password: " + password + "n The balance: " + balance; if(connected) return(s+ "n The phone is connected"); el
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鐵路運輸安全管理師資格考試試卷及答案
- 2025年影視剪輯與后期制作實踐考試卷及答案
- 2025年網頁設計與制作考試試題及答案
- 2025年廣告設計與創意基礎考試試卷及答案
- 2025年文化產業管理專業入學考試試題及答案
- 新能源汽車高性能電機控制器研發與生產合作協議
- 高層建筑工程測量與抗震評估協議
- 直播平臺主播IP授權合作協議
- 氫能源技術員項目績效評估合同
- 多語種同傳翻譯術語庫與技術解決方案租賃合同
- 光影中國學習通超星期末考試答案章節答案2024年
- 工科中的設計思維學習通超星期末考試答案章節答案2024年
- 2020年全國II卷英語高考真題試題(答案+解析)
- 腦洞大開背后的創新思維學習通超星期末考試答案章節答案2024年
- 科傻平差軟件說明指導書
- ipo上市商業計劃書
- 山東省青島市市北區2023-2024學年七年級下學期英語期末考試試題
- 《養老護理員》-課件:老年人安全防范及相關知識
- 小兒肺炎診治考核試題及答案
- 五年級信息技術第13課畫城堡課件
- 林場儲備林建設項目施工布署及平面布置
評論
0/150
提交評論