2015-02-10 97 views
1

不知道這段代碼有什麼問題,它爲什麼會終止?這段代碼有什麼問題?

public class task2 { 
    public static void main (String args []){ 
     String str = "abc"; 
     str = pad (str, 10, '*'); 
    } 
    public static String pad(String base, int n, char c){ 
     while (base.length()<n){ 
      base = base +c; 
     } 
     return base; 
    } 
} 
+1

下一次當你問一些關於某些代碼的問題時,請解釋一下你希望它做什麼_。任何代碼遲早會「終止」,這不是你的情況。 – gvlasov 2015-02-10 23:37:24

回答

4

你的代碼工作正常,但你永遠不打印出來的結果字符串:

public static void main (String args []){ 
    String str = "abc"; 
    str = pad (str, 10, '*'); 
    System.out.println(str); // *** you need this 
} 

A面的建議:類重命名爲任務2。 Java的命名約定決定了類名稱應以大寫字母開頭,而方法和變量名用小寫字母:

public class Task2 { 
    public static void main(String args[]) { 
     String str = "abc"; 
     str = pad(str, 10, '*'); 
     System.out.println(str); 
    } 

    public static String pad(String base, int n, char c) { 
     while (base.length() < n) { 
     base = base + c; 
     } 
     return base; 
    } 
} 

這是重要的,因爲按照慣例,你的代碼將被其他的Java程序員更易懂和(最重要的是)你未來的自我。

+0

不回答問題的建議應在評論中,不是嗎? – gvlasov 2015-02-10 23:38:26

+0

是啊,我是這樣一個白癡..謝謝 – 2015-02-10 23:40:01

+0

@Suseika:我認爲這回答了他的代碼可能存在的問題。 – 2015-02-10 23:41:16