2014-01-22 48 views
0

我有一個愚蠢的問題給你們,因爲我得到這個代碼的錯誤。Java類和返回

這是我的第一個Stackoverflow帖子,很抱歉,如果我犯了什麼錯誤。

我想要說這返回一個布爾值(true或false):

VerifyClassUnlocked.verify(account.email,account.password,"PRIEST"); 

在另一大類。

package realmclient; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.MalformedURLException; 
import java.net.URL; 

public class VerifyClassUnlocked { 

    public static boolean verify(String EMAIL, String PASSWORD, String CLASS) { 
     URL url; 
     InputStream is = null; 
     BufferedReader br; 
     String line; 

     try { 
      url = new URL("https://realmofthemadgod.appspot.com/char/list?guid="+EMAIL+"&password="+PASSWORD); 
      is = url.openStream(); // throws an IOException 
      br = new BufferedReader(new InputStreamReader(is)); 

      while ((line = br.readLine()) != null) { 
       System.out.println(line); 

       if (line.contains("<ClassAvailability id=\""+CLASS+"\">unrestricted</ClassAvailability>")){ 

        return true; 

       }else{ 

        return false;      
       }    
      } 
     } catch (MalformedURLException mue) { 
      mue.printStackTrace(); 
     } catch (IOException ioe) { 
      ioe.printStackTrace(); 
     } finally { 
      try { 
       if (is != null) is.close(); 
      } catch (IOException ioe) { 
       // nothing to see here 
      } 
     } 
    } 
} 
+3

你會得到什麼錯誤?這應該是你發佈的第一件東西,你首先要搜索的東西。 –

+0

請提及問題併發布**特定問題**。 – Christian

+0

感謝您快速回答的人。 我的問題是這樣的: public static boolean verify(String EMAIL,String PASSWORD,String CLASS){ 不正確。 它說「它必須返回一種布爾類型」。 – Alde

回答

4

問題是,如果拋出異常,就會捕獲它,然後放到方法的末尾而不返回值。那時你想讓來電者看到什麼?

我懷疑你要麼想讓異常傳播的堆棧,要將return false;聲明移動到方法的底部。目前,如果你讀任何線成功,這就是你要去看看才行

注意 - 如果它不是你要找的人,你立即返回false。那真的是你想要做的嗎?目前還不清楚爲什麼你會有一個while循環,它只會有一次迭代...

+0

非常感謝!這是一個愚蠢的錯誤。 再次感謝您的快速和有用的答案。我會盡快給予聲譽。 – Alde