比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > DOT > Info

Java程序設計習題_JDK

Author:

Time:1900/1/1 0:00:00

習題22

習題32

習題43

習題54

習題66

習題77

習題89

習題99

習題1011

習題1112

習題1213

習題1315

習題1415

習題1

1.Java語言的主要貢獻者是誰?

2.編寫、運行Java程序需要經過哪些主要步驟?

4.如果JDK的安裝目錄為D:\jdk,應當怎樣設置path的值?

5.下列哪個是JDK提供的編譯器?

A)java.exe

B)javac.exe

C)javap.exe

D)javaw.exe

6.Java源文件的擴展名是什么?Java字節碼的擴展名是什么?

7.下列哪個是Java應用程序主類中正確的main方法聲明?

A)publicvoidmain(Stringargs)

B)staticvoidmain(Stringargs)

C)publicstaticvoidMain(Stringargs)

D)publicstaticvoidmain(Stringargs)

習題2

1.模仿圖2.4簡單繪制出例子2中rectangle和lader對象的內存示意圖。

2.模仿例子2編寫含有3個類的Java應用程序,要求三個類分別在三個源文件中,其中一個源文件包含有名字為

Teacher的類,該類創建的對象調用add(doublea,doubleb)的方法可以得到2個數的和、調用sub(double

a,doubleb)的方法可以得到2個數的差;一個源文件包含有名字為Student的類,該類創建的對象調用speak()

的方法可以可以在命令行窗口輸出“老師好”;一個源文件包含名字為MainClass的主類。要求在主類的main方

法中分別用Teacher和Student類創建對象,使得程序能輸出12與236的和以及234與120的差,并輸出“老師好

”。

3.當源文件中有多個類時,請簡述源文件的命名規則。

4.當代碼量較大時應當使用哪種編程風格?

習題3

1.什么叫標識符?標識符的規則是什么?true是否可以作為標識符。

2.什么叫關鍵字?true和false是否是關鍵字?請說出6個關鍵字。

3.Java的基本數據類型都是什么?

4.上機運行下列程序,注意觀察輸出的結果。

publicclassE{

publicstaticvoidmain(Stringargs){

for(inti=20302;i<=20322;i++){

System.out.println((char)i);

}

5.上機調試下列程序,注意System.out.print()和System.out.println()的區別。

publicclassOutputData{

警惕Tampermonkey擴展的惡意JavaScript插件劫持盜幣攻擊:據慢霧區情報反饋,有人在LocalBitcoins進行交易時,被誘騙使用了一段所謂增強的JavaScript插件導致被盜比特幣,該JavaScript插件可以在瀏覽器知名擴展Tampermonkey(油猴)上方便使用。一旦使用,該惡意JavaScript即可篡改用戶在LocalBitcoins上的比特幣地址,達到劫持盜幣攻擊的目的。[2020/11/5 11:42:19]

intx=234,y=432;

System.out.println(x+"<"+(2*x));

System.out.print("我輸出結果后不回車");

System.out.println("我輸出結果后自動回車到下一行");

System.out.println("x+y="+(x+y));

6.編寫一個Java應用程序,輸出全部的大寫英文字母。

7.是否可以將例子4中的

zhangSan.weight=reader.nextFloat();

更改為:

zhangSan.weight=reader.nexDouble();

習題4

1.下列程序的輸出結果是什么?if-else語句的書寫是否規范?

intx=10,y=5,z=100,result=0;

if(x>y)

x=z;

else

y=x;

z=y;

result=x+y+z;

System.out.println(result);

2.下列程序的輸出結果是什么?

charc='\0';

for(inti=1;i<=4;i++){

switch(i){

case1:c='新';

System.out.print(c);

case2:c='親';

break;

case3:c='斤';

default:System.out.print("!");

3.參考例子2,在應用程序中使用if-elseif-else多條件分支語句代替switch語句來判斷整數的中獎情況。

4.為了節約用電,將用戶的用電量分成3個區間,針對不同的區間給出不同的收費標準。對于1至90千瓦

的電量,每千瓦0.6元;對于91至150千瓦的電量,每千瓦1.1元;對于用大于151千瓦的電量,每千瓦1.7元。編

寫一個Java應用程序程序。在主類的main方法中,輸入用戶的用電量,程序輸出電費。

5.編寫一個應用程序,用兩個for循環語句分別輸出大寫和小寫的“字母表”。

6.一個數如果恰好等于它的因子之和,這個數就稱為“完數”。編寫一個應用程序求1000之內的所有完數。

7.編寫一個應用程序求滿足1+2!+3!…+n!<=9876的最大整數n。

習題5

1.類中的實例變量在什么時候會被分配內存空間?

2.什么叫方法的重載?構造方法可以重載嗎?

3.類中的實例方法可以操作類變量(static變量)嗎?類方法(static方法)可以操作實例變量嗎?

4.類中的實例方法可以用類名直接調用嗎?

動態 | Xpring發布針對Java的Hyperledger Quilt v1.0:金色財經報道,Ripple和Xpring的軟件架構師David Fuelling最近發布了Hyperledger Quilt v1.0,是Interledger協議的Java實現,用于跨不同分類賬發送付款。David還表示,世界上有數百萬的Java開發人員,數十億運行Java軟件的設備主要由安卓部署領導。考慮到這一點,Quilt非常重要,因為它為Java開發人員提供了易于使用的庫,用于發送和接收Interledger付款。[2019/11/20]

5.簡述類變量和實例變量的區別。

6.下列哪些類聲明是錯誤的?

A)classA

B)publicclassA

C)protectedclassA

D)privateclassA

7.下列A類的類體中~哪些是錯誤的?

classTom{

privateintx=120;

protectedinty=20;

intz=11;

privatevoidf(){

x=200;

System.out.println(x);

voidg(){

publicclassA{

Tomtom=newTom();

tom.x=22;//

tom.y=33;//

tom.z=55;//

tom.f();//

tom.g();//

8.請說出A類中System.out.println的輸出結果。

classB

{intx=100,y=200;

publicvoidsetX(intx)

{x=x;

publicvoidsetY(inty)

{this.y=y;

publicintgetXYSum()

{returnx+y;

publicclassA

{publicstaticvoidmain(Stringargs)

{Bb=newB();

b.setX(-100);

b.setY(-200);

System.out.println("sum="+b.getXYSum());

9.請說出A類中System.out.println的輸出結果。

classB{

intn;

staticintsum=0;

voidsetN(intn){

this.n=n;

intgetSum(){

for(inti=1;i<=n;i++)

sum=sum+i;

returnsum;

Bb1=newB(),b2=newB();

b1.setN(3);

b2.setN(5);

ints1=b1.getSum();

ints2=b2.getSum();

System.out.println(s1+s2);

10.請說出E類中System.out.println的輸出結果。

動態 | 供應鏈攻擊再起 黑客入侵JavaScript庫竊取錢包比特幣:供應鏈攻擊是一種高級且非常隱蔽的攻擊模式,通常通過在軟件的依賴庫中嵌入惡意代碼實現,近日降維安全實驗室(johnwick.io)觀察到有黑客獲取了熱門JavaScript庫Event-Stream的控制權,并注入了惡意代碼來竊取Copay錢包內的比特幣等數字貨幣。該惡意代碼默認休眠狀態,當BitPay的Copay錢包啟動后,就會自動激活。它將會竊取用戶錢包內的私鑰并發送至copayapi.host:8080。該惡意代碼9月至11月期間感染了所有版本的Copay錢包。降維安全建議使用Copay錢包的用戶升級到最新版Copay v5.2.2, 使用Event-Stream庫的開發者請更新到v4.0.1。[2018/11/27]

classA{

doublef(intx,doubley){

returnx+y;

intf(intx,inty){

returnx*y;

Aa=newA();

System.out.println(a.f(10,10));

System.out.println(a.f(10,10.0));

習題6

1.子類將繼承父類的那些成員變量和方法?子類在什么情況下隱藏父類的成員變量和方法?

2.父類的final方法可以被子類重寫嗎?

3.什么類中可以有abstract方法?

4.什么叫對象的上轉型對象?

5.下列敘述哪些是正確的?

final類不可以有子類。

abstract類中只可以有abstract方法。

abstract類中可以有非abstract方法,但該方法不可以用final修飾。

不可以同時用final和abstract修飾一個方法。

6.請說出E類中System.out.println的輸出結果。

doublef(doublex,doubley){

classBextendsA{

doublef(intx,inty){

Bb=newB();

System.out.println(b.f(3,5));

System.out.println(b.f(3.0,5.0));

7.請說出E類中System.out.println的輸出結果。

staticintg(intn){

returnn*n;

doublem=super.f(x,y);

returnm+x*y;

intm=A.g(n);

returnm+n;

System.out.println(b.f(10.0,8.0));

System.out.println(b.g(3));

習題7

1.接口中能聲明變量嗎?

2.接口中能定義非抽象方法嗎?

3.什么叫接口的回調?

4.請說出E類中System.out.println的輸出結果。

interfaceA{

doublef(doublex,doubley);

classBimplementsA{

publicdoublef(doublex,doubley){

新一代安全高速主鏈項批露將支持JavaScript開發智能合約:上周獲得李笑來硬幣資本投資的新一代安全高速主鏈項目EON今日進一步披露其特性,表示支持JavaScript開發智能合約。c++開發需要有一定門檻,而且使用上也容易出錯,相比之下,JavaScript就更平易,準確。EON支持javascript意味著很多以太坊的智能合約開發者,web開發者也能參與進來。針對最近區塊鏈公司頻發的各種隱患,漏洞問題,EON表示,因為有前360首席科學家、美國北卡州立大學終身教授蔣旭憲博士領銜的區塊鏈安全團隊PeckShield(派盾科技)保駕護航。[2018/6/12]

intg(inta,intb){

returna+b;

Aa=newB();

System.out.println(a.f(3,5));

Bb=(B)a;

System.out.println(b.g(3,5));

5.請說出E類中System.out.println的輸出結果。

interfaceCom{

intadd(inta,intb);

abstractclassA{

abstractintadd(inta,intb);

classBextendsAimplementsCom{

publicintadd(inta,intb){

Comcom=b;

System.out.println(com.add(12,6));

Aa=b;

System.out.println(a.add(10,5));

習題8

1.內部類的外嵌類的成員變量在內部類中仍然有效嗎?

2.內部類中的方法也可以調用外嵌類中的方法嗎?

3.內部類的類體中可以聲明類變量和類方法嗎?

4.請說出下列程序的輸出結果。

classCry{

publicvoidcry(){

System.out.println("大家好");

Cryhello=newCry(){

publicvoidcry(){

System.out.println("大家好,祝工作順利!");

};

hello.cry();

習題9

1.下列敘述哪些是正確的?

String類是final類,不可以有子類。

String類在java.lang包中。

"abc"=="abc"的值是false.

"abc".equals("abc")的值是true

2.請說出E類中System.out.println的輸出結果。

importjava.util.*;

classGetToken{

Strings;

publicStringgetToken(intindex,Stringstr){

StringTokenizerfenxi=newStringTokenizer(str);

intnumber=fenxi.countTokens();

s=newString;

intk=1;

while(fenxi.hasMoreTokens()){

創智贏家投資人Robert Herjavec:區塊鏈前景巨大:\t\t\t\t \t\t\t\t《創智贏家》明星投資人、美國Herjavec集團CEO Robert Herjavec做客金融投資媒體The Street訪談節目時表示,長期來看,比特幣會“留下來”,數字貨幣一定會被監管,投資者既應該進場、也應該離場。雖然Herjavec表示自己并不是幣圈玩家,但他預測短期內比特幣價格仍將上漲,甚至超過一月份20000美元的高位:“我把話放在這兒了,它會漲得更高的。”關于區塊鏈,Herjavec認為,其會在十年內徹底顯出巨大前景。[2018/2/19]

Stringtemp=fenxi.nextToken();

s=temp;

k++;

if(index<=number)

returns;

returnnull;

classE{

Stringstr="WeLoveThisGame";

GetTokentoken=newGetToken();

Strings1=token.getToken(2,str),

s2=token.getToken(4,str);

System.out.println(s1+":"+s2);

3.請說出E類中System.out.println的輸出結果。

byted="abc我們喜歡籃球".getBytes();

System.out.println(d.length);

Strings=newString(d,0,7);

System.out.println(s);

classMyString{

publicStringgetString(Strings){

StringBufferstr=newStringBuffer();

for(inti=0;i<s.length();i++){

if(i%2==0){

charc=s.charAt(i);

str.append(c);

returnnewString(str);

Strings="1234567890";

MyStringms=newMyString();

System.out.println(ms.getString(s));

Stringregex="\\djava\\w{1,}";

Stringstr1="88javaookk";

Stringstr2="9javaHello";

if(str1.matches(regex)){

System.out.println(str1);

if(str2.matches(regex)){

System.out.println(str2);

6.字符串調用publicStringtoUpperCase()方法返回一個字符串,該字符串把當前字符串中的小寫字母變成大寫字母;.字符串調用publicStringtoLowerCase()方法返回一個字符串,該字符串把當前字符串中的大寫字母變成小寫字母。String類的publicStringconcat(Stringstr)方法返回一個字符串,該字符串是把調用該方法的字符串與參數指定的字符串連接。編寫一個程序,練習使用這3個方法。

7.String類的publiccharcharAt(intindex)方法可以得到當前字符串index位置上的一個字符。編寫程序使用該方法得到一個字符串中的第一個和最后一個字符。

8.通過鍵盤輸入年份和月份。程序輸出相應的日歷牌。

9.計算某年、某月、某日和某年、某月、某日之間的天數間隔。要求年、月、日通過通過鍵盤輸入到程序中。

10.編程練習Math類的常用方法。

11.參看例子19,編寫程序剔除一個字符串中的全部非數字字符,例如,將形如“ab123you”的非數字字符全部剔除,得到字符串“123”。

12.參看例子21,使用Scanner類的實例解析“數學87分,物理76分,英語96分”中的考試成績,并計算出總成績以及平均分數。

習題10

1.如果準備按字節讀取一個文件的內容,應當使用FileInputStream流還是FileReader流?

2.FileInputStream流的read方法和FileReader流的read方法有何不同?

3.BufferedReader流能直接指向一個文件嗎?

4.使用ObjectInputStream和ObjectOutputStream類有哪些注意事項?

5.怎樣使用輸入、輸出流克隆對象?

6.使用RandomAccessFile流將一個文本文件倒置讀出。

7.使用Java的輸入、輸出流將一個文本文件的內容按行讀出,每讀出一行就順序添加行號,并寫入到另

一個文件中。

8.了解打印流。我們已經學習了數據流,其特點是用Java的數據類型讀寫文件,但使用數據流寫成的文

件用其它文件閱讀器無法進行閱讀(看上去是亂碼)。PrintStream類提供了一個過濾輸出流,該輸出流能以文本

格式顯示Java的數據類型。上機實習下列程序:

importjava.awt.*;

importjava.io.*;

try{

Filefile=newFile("p.txt");

FileOutputStreamout=newFileOutputStream(file);

PrintStreamps=newPrintStream(out);

ps.print(12345.6789);

ps.println("howareyou");

ps.println(true);

ps.close();

catch(IOExceptione){}

9.參考例子14,解析一個文件中的價格數據,并計算平均價格,比如該文件的內容如下:

商品列表:

電視機,2567元/臺

洗衣機,3562元/臺

冰箱,6573元/臺

習題11

1.JFrame類的對象的默認布局是什么布局?

2.一個容器對象是否可以使用add方法添加一個JFrame窗口?

3.編寫應用程序,有一個標題為“計算”的窗口,窗口的布局為FlowLayout布局。窗口中添加兩個文本區,當

我們在一個文本區中輸入若干個數時,另一個文本區同時對你輸入的數進行求和運算并求出平均值,也就是說

隨著你輸入的變化,另一個文本區不斷地更新求和及平均值。

4.編寫一個應用程序,有一個標題為“計算”的窗口,窗口的布局為FlowLayout布局。設計四個按鈕,分別命

名為“加”、“差”、“積、”、“除”,另外,窗口中還有三個文本框。單擊相應的按鈕,將兩個文本框的

數字做運算,在第三個文本框中顯示結果。要求處理NumberFormatException異常。

5.參照例子13編寫一個體現MVC結構的GUI程序。首先編寫一個封裝梯形類,然后再編寫一個窗口。要求窗口使

用三文本框和一個文本區為梯形對象中的數據提供視圖,其中三個文本框用來顯示和更新梯形對象的上底、下

底和高;文本區對象用來顯示梯形的面積。窗口中有一個按鈕,用戶單擊該按鈕后,程序用3個文本框中的數據

分別作為梯形對象的上底、下底和高,并將計算出的梯形的面積顯示在文本區中。

習題12

1.線程有幾種狀態?

2.引起線程中斷的常見原因是什么?

3.一個線程執行完run方法后,進入了什么狀態?該線程還能再調用start方法嗎?

4.線程在什么狀態時,調用isAlive()方法返回的值是false。

5.建立線程有幾種方法?

6.怎樣設置線程的優先級?

7.在多線程中,為什么要引入同步機制?

8.在什么方法中wait()方法、notify()及notifyAll()方法可以被使用?

9.將例子11中SellTicket類中的循環條件:

while(fiveAmount<3)

該寫成:

if(fiveAmount<3)

是否合理。

10.線程調用interrupt()的作用是什么?

11.參照例子14,模擬三個人排隊買票,張某、李某和趙某買電影票,售票員只有三張五元的錢,電影票5元錢

一張。張某拿二十元一張的新人民幣排在李的前面買票,李某排在趙的前面拿一張10元的人民幣買票,趙某拿

一張5元的人民幣買票。

12.參照例子9,要求有3個線程:student1、student2和teacher,其中student1準備睡10分鐘后再開始上課

,其中student2準備睡一小時后再開始上課。teacher在輸出3句“上課”后,吵醒休眠的線程student1;

student1被吵醒后,負責再吵醒休眠的線程student2。

12.參照例子19,編寫一個Java應用程序,在主線程中再創建3個線程:“運貨司機”、“裝運工”和“倉庫管

理員”。要求線程“運貨司機”占有CPU資源后立刻聯合線程“裝運工”,也就是讓“運貨司機”一直等到“裝

運工”完成工作才能開車,而“裝運工”占有CPU資源后立刻聯合線程“倉庫管理員”,也就是讓“裝運工”

一直等到“倉庫管理員”打開倉庫才能開始搬運貨物。

14.在下列E類中,System.out.println的輸出結果是什么?

importjava.awt.event.*;

publicclassEimplementsRunnable{

StringBufferbuffer=newStringBuffer();

Threadt1,t2;

E(){

t1=newThread(this);

t2=newThread(this);

publicsynchronizedvoidaddChar(charc){

if(Thread.currentThread()==t1){

while(buffer.length()==0){

try{wait();

catch(Exceptione){}

buffer.append(c);

if(Thread.currentThread()==t2){

notifyAll();

publicstaticvoidmain(Strings){

Ehello=newE();

hello.t1.start();

hello.t2.start();

while(hello.t1.isAlive()||hello.t2.isAlive()){}

System.out.println(hello.buffer);

publicvoidrun(){

if(Thread.currentThread()==t1)

addChar('A');

if(Thread.currentThread()==t2)

addChar('B');

習題13

1.URL對象調用哪個方法可以返回一個指向該URL對象所包含的資源的輸入流。

2.什么叫socket?怎樣建立socket連接?

3.ServerSocket對象調用accept方法返回一個什么類型的對象?

4.InetAddress對象使用怎樣的格式來表示自己封裝的地址信息?

5.參照例子6,使用套接字連接編寫網絡程序,客戶輸入三角形的三邊并發送給服務器,服務器把計算出的三

角形的面積返回給客戶。

6.參照13.6.2節中的示例代碼,使用RMI技術讓客戶調用遠程對象讀取服務器上的一個文本文件。

習題14

1.為了操作Derby數據庫,需要把Java安裝目錄目錄db/lib下的那些jar文件復制到Java運行環境的擴展

中?

2.參照例子2,編寫一個應用程序來查詢Derby數據庫,用戶可以從鍵盤輸入數據庫名、表名。

3.使用預處理語句的好處是什么?

Tags:atcJDKXYSatc幣是什么幣JDK幣是什么幣XYS幣XYS價格

DOT
山晚早新聞丨打新冠疫苗導致肺結節?專家回應;央行宣布,重要調整;8月末,全省人民幣存款余額接近5.2萬億;山西“清零行動”,299.2萬戶拿到大紅本_APP

打新冠疫苗是否會導致肺結節?專家告訴你真相近日,網上關于打新冠疫苗是否會導致肺結節的疑問引發熱議.

1900/1/1 0:00:00
馬斯克的“星鏈”網絡在全球各大洲都可用_馬斯克

馬斯克發推提及NFT,暗示應該買入一些NFT:12月16日消息,馬斯克剛剛在推特上發布了一條與NFT相關的圖片推文,圖片文字表示:“這些‘NFTs’,它們現在是否在我們的房間里?”.

1900/1/1 0:00:00
如何創建和發展一家 Web3 公司?這 100 個工具你應該能用上_區塊鏈

作者|JulianIvaldy 編譯|白澤研究院 本文作者JulianIvaldy,是Web3Island&TheSecretCompany的聯合創始人.

1900/1/1 0:00:00
十月新游一覽:守望先鋒歸來、獵天使魔女3,女神異聞錄5R登PC_XGP

國慶節到了,大家假期怎么過?假期里有《守望先鋒歸來》,而假期后游戲一個一個來,到年底了各個大作都來了,以后不再年貨的《使命召喚》射擊玩家不入一個?白金和SE的新作和移植都有.

1900/1/1 0:00:00
崢嶸十年|中國疫苗這十年:咬定自主研發,正迎來收獲期_CHO

有人曾將接種疫苗的益處與安全飲水比肩。兩年多前,面對新冠大流行,疫苗再次以希望的代名詞出現。人們對疫苗的期待與認知前所未有地高漲,諸多本土疫苗企業開始走向前臺.

1900/1/1 0:00:00
人人都是億萬富翁的最窮國家,津巴布韋風景極美!一夫多妻部落_GDP

非洲有這樣一個神奇的國度,國民們都有過億的資產,但是這個國度卻是世界上最貧窮的國家。生活在這里的人,數錢數到手軟,但是穿衣吃飯都困難.

1900/1/1 0:00:00
ads