java死循環(huán)的代碼 java死循環(huán)代碼正確停止錯誤繼續(xù)循環(huán)

java多線程死循環(huán)

你程序是:

成都創(chuàng)新互聯(lián)網站建設公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網定制,成都做網站、網站設計,塑造企業(yè)網絡形象打造互聯(lián)網企業(yè)效應。

服務端有不斷的向客服端寫信息,客戶端有不斷的讀來自服務端的信息。

但是反過來,客戶端沒有不斷的向服務端寫信息。服務端也沒有不斷的讀來自客戶端的信息。

用線程解決:

在客戶端新加一條線程,專門用來讀取來自服務端的信息。

在服務端新加一條線程,專門用來讀取來自客戶端的信息。

而在各自的main()函數(shù)中只負責不斷接收system.in信息,然后發(fā)送信息..

其實不用線程的。。我也改了下,改的好像較多。

運行步驟:

開server端,開kehu端??头慷讼葘懭胄畔?。。然后,你一句我一句。只能按這順序。。這就是沒用線程的結果。

代碼如下:

服務端:

import java.net.*;

import java.io.*;

public class Server {

public static void main(String[] args)

{

System.out.println("我是服務器");

try {

ServerSocket ss=new ServerSocket(8000);

Socket sk=ss.accept();

OutputStream os=sk.getOutputStream();

BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));

bw.write("你好,我是服務器,有什么需要我服務的嘛?\n");

bw.flush();

InputStream is=sk.getInputStream();

BufferedReader br=new BufferedReader(new InputStreamReader(is));

while(true)

{

String str=br.readLine();

if(str.equals("bye")||str==null)break;

System.out.println("客戶端說:"+str);

String sr="";

BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));

sr=br1.readLine();

bw.write(sr+"\n");

bw.flush();

}

}

catch (Exception e) {

System.out.println("客用戶機己斷開");

}

}

}

客戶端:

import java.net.*;

import java.io.*;

public class kehu {

public static void main(String[] args)

{

System.out.println("我是客戶");

try {

Socket s=new Socket(InetAddress.getByName(null),8000);

InputStream is=s.getInputStream();

BufferedReader br=new BufferedReader(new InputStreamReader(is));

OutputStream os=s.getOutputStream();

BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));

String sr="";

while(true)

{

sr=br.readLine();

if(sr.equals("bye")||sr==null)break;

System.out.println("服務器說"+sr);

BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));

sr=br1.readLine();

bw.write(sr+"\n");

bw.flush();

}

} catch (Exception e) {

System.out.println("服務器未開戶或己關閉~");

}

}

}

java中怎么設計一個死循環(huán)?

最簡答的

int i = 0; //記錄循環(huán)的次數(shù)

while(true){

//為了讓你看到循環(huán)的打印信息

System.out.println(++i+"次死循環(huán)");

}

java的死循環(huán)問題

當某一掃描器拋出 InputMismatchException 時,該掃描器不會傳遞導致該異常的標記,因此可以通過其他某種方法來獲取或跳過它。

這是java API文檔中的原話。意思是說,如果nextInt方法沒有成功解析出一個整數(shù),那么你的輸入不會被忽略。因為它或許能被其它格式解析。

那么你的程序中輸入了a后,出現(xiàn)異常,number被賦值100,開始下一次循環(huán),但這時數(shù)據緩沖區(qū)內你上次輸入的a還在,并沒有清除,這時繼續(xù)解析a,還是錯誤,于是這個過程就一直重復下去了。

現(xiàn)在你要改的是,出現(xiàn)錯誤把這次的輸入清除,只要在catch中,加一句:input.next()就搞定了!

網站題目:java死循環(huán)的代碼 java死循環(huán)代碼正確停止錯誤繼續(xù)循環(huán)
標題鏈接:http://muchs.cn/article0/hphcio.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、網站設計公司、網站改版、軟件開發(fā)虛擬主機、網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作