我必须编写一个程序,从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;
}
}
答案 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),它会分崩离析,但根据你的主要问题,这可能是你想要做的事情