使用args []在Java中找不到符号错误

时间:2014-12-12 11:54:18

标签: java command-line-arguments

我是Java的初学者。 我正在尝试编写一个程序,它接受两个数字和一个字符串作为命令行参数,并打印出由这两个数字指定的子字符串。

例如:

  

%java Substring hello 1 3

输出:

  

ELL

这是我在main中的代码:

  String a = args[1];
  String b = args[2];
  String d = args[0];
  String c = d.subString(a, b);
  System.out.println(c);

编译器给出了一个错误说:

  

错误:找不到符号

     

symbol:方法subString(String,String)

     

location:String类型的变量d

4 个答案:

答案 0 :(得分:0)

substring()不是subString()。语法不正确。另外substring()接受int参数而不是String参数。

使用

int a=1;// starting index
int b=5;// ending index
String c = d.substring(a, b); // here a and b must be int values

而不是

String c = d.subString(a, b);
Java中的

substring()

答案 1 :(得分:0)

它不是subString而是substring。 Java是区分大小写的语言。此外,substring方法接受2个int eger参数,因此您的代码肯定无法编译。

您正在传递整数值,因此正确的方法是使用Integer.parseInt()函数解析Stringint

 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);

答案 2 :(得分:0)

两个问题。

1。)subString应写为substring

2.)方法substring也接受int arguments

子串方法的内部定义

  public String substring(int beginIndex, int endIndex) {
    if (beginIndex < 0) {
        throw new StringIndexOutOfBoundsException(beginIndex);
    }

a and b应该是int type而不是String

答案 3 :(得分:0)

public String substring(int beginIndex, int endIndex)

你说错了,方法需要一个或两个整数