从字符串中删除字符,cmd输入

时间:2015-03-22 18:55:23

标签: java string char

我必须编写一个程序,从cmd获取输入,然后是N个字符串和一个char c,并使用String removeChar(string str,char c)方法返回删除了char c的每个字符串。

我完成了它,但没有cmd的输入它工作,但当我使用这段代码时我在编译器中出错

public class A{
    public static void main(String[] args){
        int n= Integer.parseInt(args[0]);
        String s=args[0];
        char c= s.charAt(0);
        for (int i=1; i<=n; i++){
            String b=removeChar(args[i],c);
            System.out.println(b);
        }
    }
    public static String removeChar(String str, char c){
        for (int i=1; i<=n; i++){
            String s1= args[i].remove(c);
        }
        return s1;
    }
}

1 个答案:

答案 0 :(得分:0)

假设我对您的问题的理解是正确的,您需要编辑您的代码,如下所示(请按照我在代码中的注释):

public class A {
    public static void main(String[] args){
        int n= Integer.parseInt(args[0]); // Number N

        // Hold N strings into an array
        String[] s = new String[n];

        // Capture N strings from the cmd line args
        for (int i=0; i<n; i++)
        {
             s[i] = args[i+1];
        }

        // Ignore everything except the first character, which is your 'c'
        char c= args[args.length-1].charAt(0);  

        // Remove c from each of the captured strings
        for (int i=0; i<s.length; i++)
        {

            // Display new string with removed character 'c'
            System.out.println(removeChar(s[i],c));
        }
    }
    public static String removeChar(String str, char c){
        // Replaces all occurrences of c in str
        String c_str = ""+c;
        return str.replace(c_str, "");
    }
}

试验:

javac A.java

java A 3 "Jason is a cowboy" "Ducky" "Huck" "c"

// Results are
Jason is a owboy
Duky
Huk

这对你有用吗?注:显然这个解决方案不是“愚蠢的证明”,即你可以输入错误的字符串数量(N),它会分崩离析,但根据你的主要问题,这可能是你想要做的事情