java進階課後答案(java基礎入門課後答案及詳解)

本文目錄一覽:

java語言程序設計課後答案 郞波 第二版 清華大學出版社

我有

Java面向對象程序設計

清華大學出版社

(編著 耿祥義 張躍平)

習題解答

建議使用文檔結構圖

(選擇Word菜單→視圖→文檔結構圖)

習題1

1.James Gosling

2.

(1)使用一個文本編輯器編寫源文件。

(2)使用Java編譯器(javac.exe)編譯Java源程序,得到位元組碼文件。

(3)使用Java解釋器(java.exe)運行Java程序

3.Java的源文件是由若干個書寫形式互相獨立的類組成的。

應用程序中可以沒有public類,若有的話至多可以有一個public類。

4.系統環境path D\jdk\bin;

系統環境classpath D\jdk\jre\lib\rt.jar;.;

5. B

6. Java源文件的擴展名是.java。Java位元組碼的擴展名是.class。

7. D

8.(1)Speak.java

(2)生成兩個位元組碼文件,這些位元組碼文件的名字Speak.class 和 Xiti8.class

(3)java Xiti8

(4)執行java Speak的錯誤提示

Exception in thread “main” java.lang.NoSuchMethodError: main

執行java xiti8得到的錯誤提示

Exception in thread “main” java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8)

執行java Xiti8.class得到的錯誤提示

Exception in thread “main” java.lang.NoClassDefFoundError: Xiti8/class

執行java Xiti8得到的輸出結果

I’m glad to meet you

9.屬於操作題,解答略。

習題2

1. D

2.【代碼1】 【代碼2】 錯誤 //【代碼3】更正為 float z=6.89F;

3.float型常量後面必須要有後綴「f」或「F」。

對於double常量,後面可以有後綴「d」或「D」,但允許省略該後綴。

4.public class Xiti4{

public static void main (String args[ ]){

char ch1=’你’,ch2=’我’,ch3=’他’;

System.out.println(“\””+ch1+”\”的位置:”+(int)ch1);

System.out.println(“\””+ch2+”\”的位置:”+(int)ch2);

System.out.println(“\””+ch3+”\”的位置:”+(int)ch3);

}

}

5.數組名字.length

6.數組名字.length

7. 【代碼1】A,65

【代碼2】-127

【代碼3】 123456.783,123456.78312

8.

【代碼1】false

【代碼2】true

【代碼3】false

【代碼4】3

【代碼5】4.4

【代碼6】8.8

習題3

輸出110

if-else語句書寫的不夠規範,複合語句缺少大括弧「{}」,代碼不夠清晰。

2.你好好酷!!

3.

public class Xiti3_3

{

public static void main (String args[ ]){

int startPosition=0,endPosition=0;

char cStart=’а’,cEnd=’я’;

startPosition=(int)cStart; //cStart做int型轉換據運算,並將結果賦值給startPosition

endPosition=(int)cEnd ; //cEnd做int型轉換運算,並將結果賦值給endPosition

System.out.println(“俄文字母表:”);

for(int i=startPosition;i=endPosition;i++){

char c=’\0′;

c=(char)i; //i做char型轉換運算,並將結果賦值給c

System.out.print(” “+c);

if((i-startPosition+1)%10==0)

System.out.println(“”);

}

}

}

4.

public class Xiti4

{ public static void main(String args[])

{ double sum=0,a=1;

int i=1;

while(i=20)

{ sum=sum+a;

i++;

a=a*i;

}

System.out.println(“sum=”+sum);

}

}

5.

class Xiti5

{ public static void main(String args[])

{ int i,j;

for(j=2;j=100;j++)

{ for(i=2;i=j/2;i++)

{ if(j%i==0)

break;

}

if(ij/2)

{ System.out.print(” “+j);

}

}

}

}

6.

class Xiti6

{ public static void main(String args[])

{ double sum=0,a=1,i=1;

while(i=20)

{ sum=sum+a;

i++;

a=(1.0/i)*a;

}

System.out.println(“使用while循環計算的sum=”+sum);

for(sum=0,i=1,a=1;i=20;i++)

{ a=a*(1.0/i);

sum=sum+a;

}

System.out.println(“使用for循環計算的sum=”+sum);

}

}

7.

public class Xiti7

{ public static void main(String args[])

{ int sum=0,i,j;

for(i=1;i=1000;i++)

{ for(j=1,sum=0;ji;j++)

{ if(i%j==0)

sum=sum+j;

}

if(sum==i)

System.out.println(“完數:”+i);

}

}

}

8.方法之一

import java.util.Scanner;

public class Xiti8

{ public static void main (String args[ ]){

System.out.println(“請輸入兩個非零正整數,每輸入一個數回車確認”);

Scanner reader=new Scanner(System.in);

int m=0,n=0,temp=0,gy=0,gb=0,a,b;

a=m = reader.nextInt();

b=n = reader.nextInt();

if(mn)

{ temp=m;

m=n;

n=temp;

}

int r=m%n;

while(r!=0)

{ n=m;

m=r;

r=m%n;

}

gy=n;

gb=a*b/gy;

System.out.println(“最大公約數 :”+gy);

System.out.println(“最小公倍數 :”+gb);

}

}

8.方法之二

import java.util.Scanner;

public class Xiti8 {

public static void main (String args[ ]){

System.out.println(“請輸入兩個非零正整數,每輸入一個數回車確認”);

Scanner reader=new Scanner(System.in);

int m=0,n=0,t=0,gy=0,gb=0;

m = reader.nextInt();

n = reader.nextInt();

if(mn){

t=m;

m=n;

n=t;

}

for(int i=1;i=m;i++){

if(m%i==0 n%i==0){

gy=i;

}

}

gb=m*n/gy;

System.out.println(m+”,”+n+”的最大公約數為 “+gy);

System.out.println(m+”,”+n+”的最小公倍數為 “+gb);

}

}

9.

public class Xiti9

{ public static void main(String args[])

{ int n=1;

long sum=0,t=1;

t=n*t;

while(true)

{ sum=sum+t;

if(sum9999)

break;

n++;

t=n*t;

}

System.out.println(“滿足條件的最大整數:”+(n-1));

}

}// 1至7的階乘和是sum=5913.0 // 1至8的階乘和是sum=46233.0

習題4

1.用該類創建對象時。

2.所謂方法重載是在一個類中可以有多個方法具有相同的名字,但這些方法的參數必須不同,即或者是參數的個數不同,或者是參數的類型不同。構造方法可以重載。

3. 可以。不可以。

4.不可以。

5.成員變數又分為實例變數和類變數,用static修飾的變數是類變數。那麼類變數和實例變數有什麼區別呢?一個類通過使用new運算符可以創建多個不同的對象,不同的對象的實例變數將被分配不同的內存空間;如果類中的成員變數有類變數,那麼所有對象的這個類變數都分配給相同的一處內存,改變其中一個對象的這個類變數會影響其它對象的這個類變數。也就是說對象共享類變數。

6.C,D

7.【代碼1】,【代碼4】

8.sum=-100

9.27

10. **20

##100

習題5

1. 如果子類和父類在同一個包中,那麼子類自然地繼承了其父類中不是private的成員變數作為自己的成員變數,並且也自然地繼承了父類中不是private的方法作為自己的方法。繼承的成員或方法的訪問許可權保持不變。如果子類和父類不在同一個包中,那麼子類繼承了父類的protected、public成員變數做為子類的成員變數,並且繼承了父類的protected、public方法為子類的方法,繼承的成員或方法的訪問許可權保持不變。如果子類和父類不在同一個包里,子類不能繼承父類的友好變數和友好方法。

只要子類中聲明的成員變數和父類中的成員變數同名時,子類就隱藏了繼承的成員變數。

子類中定義一個方法,這個方法的類型和父類的方法的類型一致或者是父類的方法的類型的子類型,並且這個方法的名字、參數個數、參數的類型和父類的方法完全相同,子類如此定義的方法稱作子類重寫的方法。子類通過方法的重寫可以隱藏繼承的方法。

2.不可以。

3.abstract類。

4.假設B類是A類子類或間接子類,當我們用子類B創建一個對象,並把這個對象的引用放到A類的對象中時,稱這個A類對象是子類對象的上轉型對象。

5.可以把實現某一介面的類創建的對象的引用賦給該介面聲明的介面變數中。那麼該介面變數就可以調用被類實現的介面中的方法。

6.A,C,D

7.15.0

8.0

8.98.0

12

9.

class A

{ public final void f()

{ char cStart=’a’,cEnd=’z’;

for(char c=cStart;c=cEnd;c++)

{ System.out.print(” “+c);

}

}

}

class B extends A

{ public void g()

{ char cStart=’α’,cEnd=’ω’;

for(char c=cStart;c=cEnd;c++)

{ System.out.print(” “+c);

}

}

}

public class Xiti9

{ public static void main (String args[ ])

{ B b=new B();

b.f();

b.g();

}

}

10.

class A

{ public int f(int a,int b){

if(ba)

{ int temp=0;

temp=a;

a=b;

b=temp;

}

int r=b%a;

while(r!=0)

{ b=a;

a=r;

r=b%a;

}

return a;

}

}

class B extends A

{ public int f(int a,int b)

{ int division=super.f(a,b);

return (a*b)/division;

}

}

public class Xiti10

{ public static void main (String args[ ])

{ A a=new A();

B b=new B();

System.out.println(“最大公約數 :”+a.f(36,24));

System.out.println(“最小公倍數 :”+b.f(36,24));

}

}

習題6

1.仍然有效。

2.可以。

3.不可以。

4.大家好,祝工作順利!

5. 96

乘數超過99

習題7

1.

(1)Strategy是介面。

(2)Army不是抽象類。

(3)Army和Strategy是關聯關係。

(4)StrategyA, StrategyB、StrategyC與Strategy是實現關係。

2.

3.

4.例子13的設計符合開-閉原則。

5.例子17的設計符合開-閉原則。

習題8

採用新增的策略為選手計算得分。

增加新的具體策略StrategyFour。StrategyFour類將double computeScore(double [] a)方法實現為去掉數組a的元素中的一個最大值和一個最小值,然後計算剩餘元素的幾何平均值。

import java.util.Arrays;

public class StrategyFour implements ComputableStrategy {

public double computeScore(double [] a) {

if(a.length=2)

return 0;

double score=0,multi=1;

Arrays.sort(a);

int n=a.length-2;

for(int i=1;ia.length-1;i++) {

multi=multi*a[i];

}

score=Math.pow(multi,1.0/n);

return score;

}

}

2.

(1)策略(Strategy)PrintCharacter.java

public interface PrintCharacter{

public abstract void printTable(char [] a,char[] b);

}

(2) 具體策略

PrintStrategyOne.java

public class PrintStrategyOne implements PrintCharacter {

public void printTable(char [] a,char[] b) {

for(int i=0;ia.length;i++) {

System.out.print(a[i]+”,”);

}

for(int i=0;ib.length;i++) {

System.out.print(b[i]+”,”);

}

System.out.println(“”);

}

}

PrintStrategyTwo.java

public class PrintStrategyTwo implements PrintCharacter {

public void printTable(char [] a,char[] b) {

for(int i=0;ia.length;i++) {

System.out.print(b[i]+”,”+a[i]+”,”);

}

}

}

(3)上下文 PrintGame.java

public class PrintGame {

PrintCharacter strategy;

public void setStrategy(PrintCharacter strategy) {

this.strategy=strategy;

}

public void getPersonScore(char[] a,char[] b){

if(strategy==null)

System.out.println(“sorry!”);

else

strategy.printTable(a,b);

}

}

應用以上策略:

public class Application {

public static void main(String args[]) {

char [] a=new char[26];

char [] b=new char[26];

for(int i=0;i=25;i++){

a[i]=(char)(‘a’+i);

}

for(int i=0;i=25;i++){

b[i]=(char)(‘A’+i);

}

PrintGame game=new PrintGame(); //上下文對象

game.setStrategy(new PrintStrategyOne()); //上下文對象使用策略一

System.out.println(“方案1:”);

game.getPersonScore(a,b);

game.setStrategy(new PrintStrategyTwo()); //上下文對象使用策略二

System.out.println(“方案2:”);

game.getPersonScore(a,b);

}

}

3.參照本章8.3.3自主完成。

習題9

1.A,B,D

2. Love:Game

3.13

abc夏日

4.13579

5.9javaHello

6.

public class Xiti6 {

public static void main (String args[ ]) {

String s1,s2,s3,t1=”ABCDabcd”;

System.out.println(“字元串原來是這個樣子: “+t1);

s1=t1.toUpperCase();

System.out.println(“字元串中的小寫字母變成大寫是這個樣子: “+s1);

s2=t1.toLowerCase();

System.out.println(“字元串中的大寫字母變成小寫是這個樣子: “+s2);

s3=s1.concat(s2);

System.out.println(“大寫字元串連接小寫字元串是這個樣子: “+s3);

}

}

7.

class Xiti7

{ public static void main(String args[ ])

{ String s =”中華人民共和國”;

char a=s.charAt(0);

char b=s.charAt(6);

System.out.println(“第一個字元: “+a);

System.out.println(“最後一個字元: “+b);

}

}

8.

import java.util.*;

class Xiti8

{ public static void main(String args[]){

int year,month;

System.out.println(“請輸入年份和月份,每輸入一個數回車確認”);

Scanner reader=new Scanner(System.in);

year= reader.nextInt();

month= reader.nextInt();

String [] day=new String[42];

System.out.println(” 日 一 二 三 四 五 六”);

Calendar rili=Calendar.getInstance();

rili.set(year,month-1,1);//將日曆翻到year年month月1日,注意0表示一月…11表示十二月

int 星期幾=rili.get(Calendar.DAY_OF_WEEK)-1;

int dayAmount=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

dayAmount=31;

if(month==4||month==6||month==9||month==11)

dayAmount=30;

if(month==2)

if(((year%4==0)(year%100!=0))||(year%400==0))

dayAmount=29;

else

dayAmount=28;

for(int i=0;i星期幾;i++)

day[i]=””;

for(int i=星期幾,n=1;i星期幾+dayAmount;i++){

if(n=9)

day[i]=String.valueOf(n)+” ” ;

else

day[i]=String.valueOf(n);

n++;

}

for(int i=星期幾+dayAmount;i42;i++)

day[i]=””;

for(int i=0;i星期幾;i++)

{ day[i]=”**”;

}

for(int i=0;iday.length;i++)

{ if(i%7==0)

{ System.out.println(“”);

}

System.out.print(” “+day[i]);

}

}

}

9.

import java.util.*;

class Xiti9

{ public static void main(String args[]){

int year1,month1,day1,year2,month2,day2;

Scanner reader=new Scanner(System.in);

System.out.println(“請輸入第一個日期的年份 月份 日期 ,每輸入一個數回車確認”);

year1= reader.nextInt();

month1= reader.nextInt();

day1= reader.nextInt();

System.out.println(“請輸入第二個日期的年份 月份 日期 ,每輸入一個數回車確認”);

year2= reader.nextInt();

month2= reader.nextInt();

day2= reader.nextInt();

Calendar calendar=Calendar.getInstance();

calendar.set(year1,month1,day1);

long timeYear1=calendar.getTimeInMillis();

calendar.set(year2,month2,day2);

long timeYear2=calendar.getTimeInMillis();

long 相隔天數=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));

System.out.println(“”+year1+”年”+month1+”月”+day1+”日和”+

year2+”年”+month2+”月”+day2+”日相隔”+相隔天數+”天”);

}

}

全部都給你

希望那個可以幫助到你 祝你學習成功

Java語言程序設計原書第八版的基礎篇和進階篇(Y.Daniel Liang著)的答案!習題加編程題的!

怎麼都要把習題貼出來吧。要不人家想解答,都不知道習題是什麼

JAVA複習題求答案

B A C B B A B B D A

第三題D沒int,所以不是D。

第六題,182/100=1.82,但由於是int型,只取整數位=1,182/10餘2,所以182%10=2。所以不是B。

java大學實用教程(習題講解答案)

你到書店買吧 網上書店 有你要的書…

第1章 Java語言概述

1.1 Java語言的誕生

1.2 學習Java的必要性

1.3 Java的特點

1.4 Java與C/C++之關係

1.5 Java運行平台

1.6 Java程序開發

1.7 SDK 1.5編譯器的新規定

問答題

作業題

第2章 基本數據類型和數組

2.1 標識符和關鍵字

2.2 基本數據類型

2.3 基本數據類型的轉換

2.4 數據的輸入與輸出

2.5 數組

問答題

作業題

第3章 運算符、表達式與語句

3.1 算術運算符和算術表達式

3.2 關係運算符和關係表達式

3.3 邏輯運算符和邏輯表達式

3.4 賦值運算符和賦值表達式

3.5 移位運算符

3.6 位運算符

3.7 條件運算符

3.8 instanceof運算符

3.9 一般表達式

3.10 語句概述

3.11 分支語句

3.12 循環語句

3.13 跳轉語句

問答題

作業題

第4章 類與對象

4.1 類聲明和類體

4.2 類體的構成

4.3 構造方法與對象的創建

4.4 對象的引用與實體

4.5 成員變數

4.6 方法

4.7 方法重載

4.8 關鍵字this

4.9 包

4.10 import 語句

4.11 訪問許可權

4.12 基本類型數據的類包裝

4.13 反編譯和文檔生成器

問答題

作業題

第5章 繼承、介面與泛型

5.1 子類與父類

5.2 子類的繼承性

5.3 子類對象的構造過程

5.4 成員變數隱藏和方法重寫

5.5 關鍵字super

5.6 final類與final方法

5.7 對象的上轉型對象

5.8 繼承與多態

5.9 abstract類

5.10 介面

5.11 介面回調

5.12 內部類

5.13 匿名類

5.14 異常類

5.15 泛型類

問答題

作業題

第6章 字元串和正則表達式

6.1 String類

6.2 StringBuffer類

6.3 StringTokenizer類

6.4 正則表達式與模式匹配

6.5 元字元模式

6.6 限定符模式

6.7 模式的邏輯或

問答題

作業題

第7章 常用實用類

7.1 Date類

7.2 Calendar類

7.3 Math類與BigInteger類

7.4 LinkedListE泛型類

7.5 HashSetE泛型類

7.6 HashMapK,V泛型類

7.7 TreeSetE泛型類

7.8 TreeMapK,V泛型類

7.9 StackE泛型類

問答題

作業題

第8章 線程

8.1 Java中的線程

8.2 線程的生命周期

8.3 線程的優先順序與調度管理

8.4 Thread的子類創建線程

8.5 Runable介面

8.6 線程的常用方法

8.7 線程同步

8.8 在同步方法中使用wait()、notify()和notifyAll()

8.9 線程聯合

8.10 守護線程

問答題

作業題

第9章 輸入/輸出流

9.1 文件

9.2 文件位元組流

9.3 文件字元流

9.4 從鍵盤讀取數據

9.5 緩衝流

9.6 數組流

9.7 字元串流

9.8 數據流

9.9 管道流

9.10 對象流

9.11 序列化和對象克隆

9.12 隨機讀寫流

9.13 文件鎖

問答題

作業題

第10章 基於SWING的圖形用戶界面設計

10.1 AWT組件與SWING組件概述

10.2 JFrame窗體

10.3 菜單組件

10.4 布局設計

10.5 中間容器

10.6 文本組件

10.7 按鈕與標籤組件

10.8 複選框與單選按鈕組件

10.9 列表組件

10.10 表格組件

10.11 樹組件

10.12 進度條組件

10.13 組件常用方法

10.14 焦點事件

10.15 窗口事件

10.16 滑鼠事件

10.17 鍵盤事件

10.18 多文檔界面

10.19 AWT線程

10.20 對話框

10.21 列印組件

10.22 發布應用程序

問答題

作業題

第11章 Java中的網路編程

11.1 URL類

11.2 讀取URL中的資源

11.3 顯示URL資源中的html文件

11.4 處理超鏈接

11.5 InetAddress類

11.6 套接字Socket

11.7 使用多線程處理套接字連接

11.8 UDP數據報

11.9 廣播數據報

問答題

作業題

第12章 Java Applet

12.1 Java Applet的運行原理

12.2 在Java Applet中播放聲音

12.3 在網頁向Java Applet傳值

12.4 在Java Applet中使用AWT組件

12.5 在Java Applet中使用SWING組件

12.6 在Java Applet中繪製圖形

12.7 在Java Applet中繪製圖像

12.8 在Java Applet中播放幻燈片和動畫

12.9 Java Applet的網路功能

問答題

作業題

原創文章,作者:LNLG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136765.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LNLG的頭像LNLG
上一篇 2024-10-04 00:16
下一篇 2024-10-04 00:16

相關推薦

  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • 小甲魚Python最新版課後作業及答案

    Python編程語言已經成為最受歡迎的計算機編程語言之一。而小甲魚的Python教程已經深受廣大編程學習者的青睞,其中課後作業及答案是學習過程中的必要部分。下面我們從幾個方面具體闡…

    編程 2025-04-29
  • 學堂雲Python語言程序設計答案

    學堂雲Python語言程序設計是一門重要的計算機專業課程。它涵蓋了Python語言及其應用,包括基礎語法、函數、文件處理、數據結構、圖形界面和網路編程等內容。在學習中,我們經常會需…

    編程 2025-04-29
  • 南京郵電大學Python慕課答案

    本文將詳細闡述南京郵電大學Python慕課答案,為大家提供學習Python課程的參考。 一、應用範圍 Python是一種高級通用編程語言,應用範圍廣泛,包括Web開發、數據分析與科…

    編程 2025-04-28
  • 大學化學科學出版社教材答案

    本文將從以下幾個方面對大學化學科學出版社教材答案進行詳細闡述,幫助您更好地應對學習中的問題: 一、獲取教材答案的渠道 學習過程中,有時候會遇到難以解答的問題,這時候就需要查看教材答…

    編程 2025-04-28
  • Python初探答案第七關——解題指南

    Python初探答案第七關是一道典型的Python編程題目,涉及字元串的判斷和操作。下面我們將從多個方面詳細闡述這道題目的解題方法。 一、題目分析 首先,我們需要仔細研究題目要求以…

    編程 2025-04-28
  • 小甲魚Python課後作業及答案百度雲

    小甲魚課程是一門 Python 開發的視頻課程,自 2008 年以來一直廣受歡迎。本文主要介紹小甲魚 Python 課後作業及答案所在的百度雲地址。以下是詳細內容: 一、百度雲地址…

    編程 2025-04-27
  • Python第二版課後答案用法介紹

    本篇文章主要從以下幾個方面對Python第二版課後答案做詳細的闡述: 一、Python第二版的重要性 Python是一種高級編程語言,被廣泛應用於科學計算、Web開發、人工智慧等領…

    編程 2025-04-27
  • 北京大學python語言基礎與應用超星答案解析

    北京大學python語言基礎與應用是一門涵蓋了python語言基礎知識、數據處理、web開發等方面的課程。其中超星在線學習平台為學生提供了練習和試卷答題功能。本文將從試卷中常見的知…

    編程 2025-04-27
  • Python智能測評系統答案解析

    Python智能測評系統是一款用於自動批改Python代碼的工具,它通過較為底層的方法對代碼進行分析,在編譯和執行代碼時自動判斷正確性,從而評估代碼的得分情況。下面將從多個方面對P…

    編程 2025-04-27

發表回復

登錄後才能評論