如何打印没有逗号?

时间:2013-02-23 01:07:44

标签: java

我正在尝试调用一个方法来打印“R,a,b,b,i,t”。如果传递空字符串(“”),我的方法应该不打印。

public static void printLetters(String a) {
    if (a == "")
        System.out.println(a);
    else
        for (int i = 0; i <= a.length() - 1; i++) {
            char rabb = (a.charAt(i));
            System.out.print(rabb + ",");

            if (i != a.length() - 1) {
                System.out.print(" ");
            }
        }
}

现在的问题是我正在打印“r,a,b,b,它”,我不知道为什么。似乎if(i!=a.length()-1){无法消除最后一个逗号。

4 个答案:

答案 0 :(得分:3)

首先,永远不要使用==进行字符串比较,请使用.equals

if ("".equals(a))

在for循环中,提取角色并仅打印它。然后,如果您检测到您不在字符串的末尾,则打印逗号和空格。

char rabb = (a.charAt(i));
System.out.print(rabb);

if (i != a.length() - 1) {
     System.out.print(", ");
}

答案 1 :(得分:0)

这样的东西?

             char rabb = (a.charAt(i));
             if(i==a.lenght()-1){
             System.out.print(rabb + ",");
             }
             else 
             System.out.print(rabb);

另外,你的字符串比较是错误的。使用equals方法比较字符串。

if ("".equals(a)) 

您还可以使用String.isEmpty()检查字符串是否为空

 if (a.isEmpty()) 

答案 2 :(得分:0)

更容易删除最后一个字符,因为昏迷是最后一个字符,只需使用String类方法根据位置删除它

String myString = "a,b,c,d,"

String newString = myString.subString(0,myString.length()-2);

答案 3 :(得分:0)

static String comma(String a) {
    if (a.length() == 0)
        return "";
    char[] c = new char[a.length()+a.length()-1];
    for (int i = 0; i < a.length()*2-2; i+=2) {
        c[i] = a.charAt(i/2);
        c[i+1] = ',';
    }
    c[c.length-1] = a.charAt(a.length()-1);
    return new String(c);
}