簡體   English   中英

讀取單字符Java

[英]read single character java

為什么我看不懂這個單個字符?

char c = 'Y';
    while(c == 'y' || c == 'Y'){
        //stuff happens..
    }
    c = (char)System.in.read();   <----error

我收到一個編譯錯誤,提示“未處理的異常類型IOException”

將代碼包裝在try/catch塊中(或)定義在方法簽名中throws IOException 所有檢查的異常應為catch或throws異常。

例:

 try
    {
      c = (char)System.in.read();  
    }catch(IOException ioe)
    {
   //Your catch logic
    }

您有2個解決方案:

  1. 使用try-catch語句處理異常,如下所示:

     char c = 'Y'; while(c == 'y' || c == 'Y'){ //stuff happens.. } try { c = (char)System.in.read(); } catch (IOException e) { e.printStackTrace();//or however you choose to handle this } 

在類的package語句下方(如果有),添加一個import語句,例如:

        import java.io.IOException;

2.在函數之后添加throws子句,指示該函數可能拋出已檢查的異常。 在這種情況下,您可能需要在調用函數中處理異常。

示例:假設函數sample()調用test()

public static void test() throws IOException {

    char c = 'Y';
    while(c == 'y' || c == 'Y'){
        //stuff happens..
    }
    c = (char)System.in.read();

}

在類的package語句下方(如果有),添加一個import語句,例如:

        import java.io.IOException;

在情況2中,您可以在sample()中處理該異常,否則該異常(如果發生)將向上傳播,直到被處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM