導航:首頁 > 編程語言 > java高級網路編程試題

java高級網路編程試題

發布時間:2023-07-10 18:22:08

A. (特急)《java程序設計》理論題庫—判斷題(要准確答案)

異常的拋出,就是將異常拋給異常處理器,暫時不去處理它。

摘要:《Java程序員面試指南》第7章異常處理及內存管理,本章講述的是要想成功地成為一名合格的Java程序員,掌握好異常處理機制是編寫大型程序必不可少的基本功。本節為大家介紹異常的處理方式之三:throw。
標簽:throw Java 程序員 Java程序員面試指南
Oracle幫您准確洞察各個物流環節

7.4 異常的處理方式之三:throw(1)

異常的拋出,就是將異常拋給異常處理器,暫時不去處理它。本節主要講解用throw拋出異常的方式,以及如何由try-catch來接收所拋出的異常。

當一個方法發生異常時可以通過throw關鍵字來拋出異常,把異常拋給它上一級的調用者,拋出的可以是異常引用,也可以是異常對象,它的語法格式如下:

throw 異常對象名; 或者

throw new 異常類名(); 一條throw語句一旦被執行,程序立即轉入相應的異常處理程序段,它後面的語句就不再執行了(這一點類似於return語句),而且它所在的方法也不再返回有意義的值。在一個方法中,throw語句可以有多條,但每一次最多隻能執行其中的一條。在一般情況下,throw語句都會寫在判斷語句塊中,以避免每次都執行該語句。

【代碼剖析】下面來看一個例子,也許從中你會明白點什麼。具體代碼如下:

public class catchThows { static int x; public static void main(String argv[]) { double a = Math.random() * 10; if (x > 0) System.out.println(a / x); else throw new Exception(); // 拋出異常 } public void setX(int x) { this.x = x; } } 運行結果如圖7.1所示。

(點擊查看大圖)圖7.1 運行結果
從上面的運行結果中可以看出,一個方法中如果使用throw來拋出異常,要麼自己捕獲它,要麼聲明拋出了一個異常。要聲明拋出了異常,需要用throws關鍵字在方法的頭部聲明。如果我們將上面的代碼修改成下面的代碼,那麼結果又會怎樣呢?
public class catchThows_1 { static int x; public static void main(String argv[]) { new catchThows().setX(0); double a = Math.random() * 10; if (x > 0) System.out.println(a / x); else try { throw new Exception();// 拋出異常 } catch (Exception e) { System.out.println("出現異常的原因是:"+e.getMessage()); } } public void setX(int x) { this.x = x; } } 運行結果如下:

出現異常的原因是:null 還有一種拋出異常的方法是讓被調用的方法表示它將不處理異常,該異常將被拋出到它的調用方法中。這點是和throws聲明異常很相似的,但它們的位置是完全不同的。具體代碼如下:

public class catchThows_2 { void findThows() { try { //拋出方法 throw new ArithmeticException(); } catch(ArithmeticException ae) { throw ae; } } public static void main(String args[]) { catchThows ct=new catchThows(); //對方法進行異常處理 try { ct.findThows(); } catch(ArithmeticException ae) { System.out.println("出現異常的原因是:"+ae); } } } 運行結果如下:

出現異常的原因是:java.lang.ArithmeticException
【責任編輯:雲霞 TEL:(010)68476606】

回書目 上一節 下一節

上一篇: 7.3 異常的處理方式之二:throws(2) 下一篇: 7.4 異常的處理方式之三:throw(2)
相關文章
·7.5 內存的管理(2)
·7.4 異常的處理方式之三:throw(2)
·17.3 Java高級編程試題(1)
·17.1 Java基礎編程試題(6)
·17.1 Java基礎編程試題(5)
頻道熱門
·自己動手寫搜索引擎
·1.1.2 編寫代碼(15分鍾)
·1.1.1 准備工作環境(10分鍾)
·軟體調試的藝術
·WCF編程(第2版)

B. 有幾個java網路編程基礎的選擇題 哪位大神給下答案

、Applet為一種特殊的Panel,它可作為Java Applet程序的最外層容器。 ( )
2、Java的源碼中定義多少個類,編譯後結果就生成多少個以.class為後綴的位元組碼文 ( )
3、Java程序中,使用關鍵字new創建新的類對象,使用關鍵字free回收無用的類對象。 ( )
4、Java有垃圾回收機制,可在指定的時間使用內存回收程序釋放內存對象。 ( )
5、構造函數用於創建類的實例對象,返回類型為void,構造函數名應與類名相同。 ( )
6、在異常處理中,假設try中的代碼可能產生多種異常則可以對應多個catch語句,若catch中的參數類型有父子關系,此時應該將子類放在前面,父類放在後面。 ( )
7、含有abstract方法的類是抽象類,而抽象類中可以沒有abstract方法。 ( )
8、Java的屏幕坐標以像素為單位,容器的左下角被確定為坐標的起點。 ( )
9、靜態初始化器是在其所屬的類載入內存時由系統自動調用執行。 ( )
10、在Java中可使用賦值號( )對對象賦值,相當於生成了一個各屬性與賦值對象相同的新對象。 ( )
11、MVC是Model-View-Controller的簡寫。"View" 是應用的表示面(由JSP頁面產生)。( )
12、MVC是Model-View-Controller的簡寫。"Controller" 是提供應用的處理過程式控制制(一般是一個Servlet),通過這種設計模型控制應用邏輯。( )
13、Tomcat是支持JSP引擎的一種伺服器軟體,可以通過server.xml文件修改伺服器的配置信息。( )
14、通過Request.getParameterValues()可以獲得某個參數的多個值( )
15、運行JSP需要有JSP引擎,Tomcat是支持JSP的Web伺服器的一種。( )
16、Jsp使用的是Java腳本代碼,可跨平台運行,運行開銷小,具有速度快,可擴展性好及支持分布式處理等特點。 ( )
17、在定義了Bean的屬性後,可不創建屬性方法。( )
18、if語句是Java的條件分支語句,它控製程序以兩條路徑執行。( )
19、包是類的容器,用於保證類名空間的一致性。( )
20、JSP中不能使用HTML中的「<!-- -->」注釋方式,只能使用JSP的「<!-- -->」的注釋方式。
答案:僅供參考
T T F T T T T F T F T T T F F F T T T F

21.Java application中的主類必須包含方法main,以下哪項是main方法的正確參數?( )
A、 String args B、String ar[] C、Char arg D、StringBuffer args[]

22.以下對繼承的正確描述是( )。
A、在Java中類只允許單一繼承
B、在Java中一個類只能實現一個介面
C、在Java中一個類不能同時繼承一個類和實現一個介面
D、在Java中介面只允許單一繼承

23.paint()方法中的參數可使用哪種類型? ( )
A、Graphics B、Graphics2D C、String D、Color

24.以下不屬於Java基本數據類型的是( )
A、int B、Boolean C、float D、char

25.以下哪項可能包含菜單條( )。
A、Panel B、Frame C、Applet D、Dialog

26.應使用哪種修飾符定義一個類域或類方法?( )
A、static B、package C、private D、public

27.在瀏覽器中執行applet 程序,以下選項中的哪個方法將被最先執行( )。
A、init() B、start() C、destroy() D、stop()

28.參考以下代碼,關於該程序以下哪個說法是正確的?( )
public class Person{
static int arr[] = new int[3];
public static void main(String a[])
{
System.out.println(arr[0]);}
}
A、編譯時將產生錯誤 B、編譯時正確,運行時將產生錯誤
C、輸出零 D、輸出空

29.下列語句中,哪些關於Java內存回收的說明是正確的? ( )
A、程序員必須創建一個線程來釋放內存
B、內存回收程序負責釋放無用內存
C、內存回收程序允許程序員直接釋放內存
D、內存回收程序可以在指定的時間釋放內存對象

30.以下關鍵字中,可以用來對對象加互斥鎖的是?( )
A、transient B、synchronized C、 serialize D、static

31.以下代碼段執行後的輸出結果為( )
int x=-3; int y=-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3

32.有以下程序片段,下列哪個選項不能插入到行1。( )
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }

33.假設有如下兩個賦值語句:
a = Integer.parseInt(「5」);
b = Integer.valueOf(「5」).intValue();
下述說法正確的是( )。
A、a是整數類型變數,b是整數類對象。 B、a是整數類對象,b是整數類型變數。
C、a和b都是整數類對象並且值相等。 D、a和b都是整數類型變數並且值相等。

C. java面試題:酒店預訂!

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("是否是會員?y/n");
String H = input.next();
System.out.println("請輸入入住日期:");
System.out.println("例如2009-03-16");
String in = input.next();
System.out.println("請輸離開日期:");
System.out.println("例如2009-03-16");
String out = input.next();
//String in = s.substring(5,15);
//String out = s.substring(15,26);
//System.out.println(in+" "+out);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
try {
c1.setTime(sdf.parse(in));
c2.setTime(sdf.parse(out));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long time1 = c1.getTimeInMillis();
long time2 = c2.getTimeInMillis();
long tian = (time2-time1)/(1000*24*3600);
long tian1 = tian;
System.out.println("tian "+tian);
int week1 = c1.get(Calendar.DAY_OF_WEEK)-1;
//System.out.println(week1);
//int week2 = c2.get(Calendar.DAY_OF_WEEK)-1;
//System.out.println(week2);
int count = 0;
while(tian1>0){
if(week1 == 6 || week1==0){
count++;
}
if(week1==6){
week1 = 0;
week1--;
}
tian1--;
week1++;
}
System.out.println("count "+count);
long rujia;
long qitian;
long hanting;
if(H.equals("y")){
rujia = (tian-count)*80+count*80;
System.out.println("tian "+tian);
qitian = (tian-count)*110+count*50;
hanting = (tian-count)*100+count*40;
}else{
rujia = (tian-count)*110+count*90;
qitian = (tian-count)*160+count*60;
hanting = (tian-count)*220+count*150;
}
System.out.println("tian " + tian);
System.out.println("rujia "+rujia);
System.out.println("hanting "+hanting);
System.out.println("qitian "+qitian);
if(rujia<qitian && rujia<hanting){
System.out.println("如家");
}else if(qitian<rujia && qitian<hanting){
System.out.println("七天");
}else if(hanting<rujia && hanting<qitian){
System.out.println("漢庭");
}else if(hanting==rujia || hanting==qitian){
System.out.println("漢庭");
}else if(qitian==rujia && qitian<hanting){
System.out.println("七天");
}
}
我沒怎麼測試 自己測測吧 還有一些約束用戶輸入啥的 嚴謹性什麼的

D. java網路編程實驗題遠程訪問伺服器目錄的程序

代碼如下。。。我測試過了。。。。下面兩個類是在同一台機器上進行測試的,先運行Server.java,再運行Client.java

import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Server {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(8080);
Socket socket = ss.accept();
BufferedReader in = //獲取客戶端發過來的消息
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = //用於向客戶端發送消息
new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()),true);
while(true){
String message = in.readLine();//讀取消息
if("quit".equals(message))//退出命令
break;
String s[] = message.split("\\s+");
if("dir".equals(s[0])){
File dir = new File(s[1]);
File[] files = dir.listFiles();
//向客戶端發送文件消息
for(File file:files){
Date date = new Date(file.lastModified());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//日期格式化
FileInputStream is = new FileInputStream(file);
out.println(file.getName()+"\t"+df.format(date)+"\t"+((is.available()+1023)/1024)+"k");
}
out.println("ok");
}
}

socket.close();
in.close();
out.close();
ss.close();
}
}
-------------------------------------------------------------------------------------------------------------

import java.io.*;
import java.net.*;

public class Client {

public static void main(String[] args) throws Exception{
InetAddress add = InetAddress.getByName(null);
Socket socket = new Socket(add,8080);
BufferedReader in = //獲取伺服器端發過來的消息
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = //用於向伺服器端發送消息
new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()),true);
out.println("dir d:/test");
String mes;
while(true){
mes = in.readLine();
if("ok".equals(mes))
break;
System.out.println(mes);
}
out.println("quit");

socket.close();
in.close();
out.close();
}
}

希望能幫到你。。。仍有問題可以追問或者直接HI我。。。

E. 請教幾題JAVA 試題

1Java編譯器使用文件系統來保存程序包。 ( 對 )
2Java源程序文件中是不區分字母的大小寫的。 ( 錯 )
3、Java applet不能夠存取客戶機磁碟上的文件。 ( 錯 )
4、可以用new來創建一個類的實例,即」對象」。 ( 對 )
5、Java程序對計算機硬體平台的依賴性很低。 (對 )
6、Java可以用來進行多媒體及網路編程。 ( 對 )
7、用final修飾的類必須被繼承。 ( 錯 )
8、類是對象實例。 ( 錯 )
9、每個類都只能有一個構造方法。 ( 錯 )
10、applet可以運行在瀏覽器中。 ( 對 )
填空題
1. 【1】 是Java程序中基本的結構單位。
2.Java語言中,移位運算符包括:>>、<<和 {>>>】 ;
3.構件不能獨立地顯示出來,必須將構件放在一定的 【3】 中才能顯示。
4.能將顯示空間分成很多層的布局管理器是 【4】 。
5.Applet是能夠嵌入到 【exe】 格式的文件中,並能夠在瀏覽器中運行的Java。
6.使用Swing編寫Applet,則該Applet的主類應該定義為 【6】 類的子類。
7.在Java中,線程的模型就是一個CPU、程序代碼和 【7】 的封裝體。
8.鍵盤鍵入字元串並在計算機屏幕上顯示,這時的數據源是 【鍵盤】 。
9.任何一個Java程序都默認引入了一個包,這個包的名字叫java. 【unitl】 。
10.Java語言中,有一個類是所有類或介面的父類,這個類的名稱是 【Object】
因只是有限,只給你寫了我知道的!不好意思
希望對你有幫助!

閱讀全文

與java高級網路編程試題相關的資料

熱點內容
如何驗證web伺服器是否正常工作 瀏覽:130
全球最大的加密貨幣網站 瀏覽:284
解壓文件為什麼有問號 瀏覽:389
php考試系統模板 瀏覽:431
pdf導出圖片模糊 瀏覽:610
我的世界編玩邊學伺服器地址 瀏覽:456
基於單片機的火災報警系統 瀏覽:166
上海追星用什麼app 瀏覽:423
海馬m5壓縮機維修 瀏覽:98
抖音怎麼給自己喜歡的加密 瀏覽:247
中國五大加密貨幣 瀏覽:263
程序員手疼7年查6處骨腫瘤 瀏覽:39
python列表對象的創建與刪除 瀏覽:467
python刪除excel表格中的一行 瀏覽:521
android資料庫的增刪改查 瀏覽:632
雲伺服器2g4g有什麼區別 瀏覽:324
顯示文件夾所有文件的文件名函數 瀏覽:213
可以在網站寫代碼的編譯器 瀏覽:76
王者換伺服器怎麼不用重玩 瀏覽:328
武漢編譯ipfs雲存儲器 瀏覽:52