2015-02-10 186 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