在带有args[]的Java中找不到符号错误
我是Java的初学者。 我试图编写一个程序,将两个数字和一个字符串作为命令行参数,并打印出由这两个数字指定的子字符串 例如: %java子字符串hello 1 3 输出: 厄尔 这是我在main中的代码:在带有args[]的Java中找不到符号错误,java,command-line-arguments,Java,Command Line Arguments,我是Java的初学者。 我试图编写一个程序,将两个数字和一个字符串作为命令行参数,并打印出由这两个数字指定的子字符串 例如: %java子字符串hello 1 3 输出: 厄尔 这是我在main中的代码: String a = args[1]; String b = args[2]; String d = args[0]; String c = d.subString(a, b); System.out.println(c); 编译器给了我一个错误,说明: 错误:找不到符号
String a = args[1];
String b = args[2];
String d = args[0];
String c = d.subString(a, b);
System.out.println(c);
编译器给了我一个错误,说明:
错误:找不到符号
符号:方法子字符串(字符串,字符串)
位置:字符串类型的变量d
它是substring()
而不是substring()
。语法不正确。还有substring()
接受int
参数而不是String
参数
使用
而不是
String c = d.subString(a, b);
在
Java
中,它不是子字符串,而是。Java是区分大小写的语言。此外,substring
方法接受2个int
eger参数,因此您的代码肯定不会编译
您正在传递整数值,因此正确的方法应该是使用函数将字符串
解析为int
int a = Integer.parseInt(args[1]); //The beginIndex (starting from 0, inclusive)
int b = Integer.parseInt(args[2]); //The endIndex (of maximum string.length(), exclusive).
String d = args[0];
String c = d.subString(a, b);
System.out.println(c);
两个问题
1.子字符串
应写成子字符串
public String substring(int beginIndex, int endIndex)
2.)方法子字符串
也接受int参数
子字符串方法的内部定义
public String substring(int beginIndex, int endIndex) {
if (beginIndex < 0) {
throw new StringIndexOutOfBoundsException(beginIndex);
}
公共字符串子字符串(int-beginIndex,int-endIndex){
如果(beginIndex<0){
抛出新的StringIndexOutOfBoundsException(beginIndex);
}
a和b
应为int类型
而不是String
public String substring(int beginIndex, int endIndex)
您调用它是错误的,该方法使用一个或两个整数它是子字符串
(并且参数类型不正确)。此外,没有接受两个字符串作为参数的子字符串方法。它不接受字符串,而是接受int作为参数。为什么不阅读javadoc,它列出了所有类上可用的所有方法并对它们进行了描述?将args[2]和args[1]强制转换为整数