2013-11-01 55 views
0

我是Java初學者,這是我的問題:我不明白爲什麼我的輸出在執行我的打印程序時是「null」。據我瞭解我的代碼,它應該顯示:「http://www.google.com」。我嘗試了一個StringBuilder,我仍然有這個問題。 有人可以給我一些幫助嗎? 感謝簡單的Java程序錯誤

URL.java:

公共類URL {

String url; 

    public void create(){ 
     url = new String(); 
     url+=("http://www.google.com"); 
    } 

    public String geturl() { 
     return this.url; 
    } 

}

Print.java:

公共類打印{

public static void main(String[] args) throws Exception { 
URL link = new URL(); 
System.out.print(link.geturl()); 
} 

}

+0

僅供參考有一個內置的URL類 – Reimeus

+0

你應該真的以不同的方式構造你的字符串。 '例如,String url =「http://www.google.com」;'。 –

+0

謝謝!你是對的 ! –

回答

4

需要調用link.create(),或更改創建()函數是一個構造函數來代替。像這樣:

public URL(){ 
    url = new String(); 
    url+=("http://www.google.com"); 
} 
+0

太棒了!非常感謝您提供多種選擇。第一個實際上是我在餘下的練習中必須使用的那個。 –

1

更好的方法是在構造函數中初始化url實例變量。通過這樣做,URL實例變量將在您創建URL類的實例時自動初始化,並且您不再需要create方法。

public class URL{ 
    private String url; 

    //Constructor 
    public URL(){ 
     url = "http://www.google.com"; 
    } 

    public String getUrl(){ 
     return url; 
    } 

} 

public class Print{ 
     public static void main (String[] args){ 
     URL url = new URL(); 
     System.out.println (url.getUrl()); 

     } 
} 
+0

謝謝馬里奧的回答,那正是我期待的答案。 –

+0

歡迎您也可以upvote我的答案。 –