CharAt给出“找不到符号”错误

时间:2012-01-21 20:22:49

标签: java

我最近开始学习JAVA,我找到了这段代码:

public class Dublicate{
   public static void main(String[] args){
      int r=0;
      for(int i=0;i<(args[0]).length();i++){
         char ch=args[0].CharAt(i);
         r=r*10+ch-'0';
      }
      System.out.println(r);
    }
} 

我并不确信此代码能够正常运行,我对此并不自信 args[0],但此代码不包含编译内容:

Dublicate.java:6: cannot find symbol  
symbol  : method CharAt(int)  
location: class java.lang.String  
            char ch=a.CharAt(i);  
                     ^  
1 error

我如何解决这个问题?

P.S。如果我写:

int i=4;
String a = "argsas";
char ch=a.CharAt(i); 

我也得到错误:

Dublicate.java:5: cannot find symbol  
symbol  : method CharAt(int)  
location: class java.lang.String  
             char ch=a.CharAt(i);  
                      ^  
1 error  

更新 是的,lovercase工作谢谢大家!!!

3 个答案:

答案 0 :(得分:3)

这是“charAt” - 小写。 .NET以大写作为约定启动方法; Java使用小写。如果你在某个地方找到了这个代码,这是一个糟糕的选择。

public class Dublicate{
    public static void main(String[] args){
        if (args.length > 0) {
           int r=0;
           for (int i = 0; i < args[0].length(); ++i) { 
                char ch=args[0].charAt(i);
                r=r*10+ch-'0';
            }
            System.out.println(r);
        }
    }
} 

答案 1 :(得分:1)

你应该写一个charAt,从小写C开始。

请参阅:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#charAt(int)

答案 2 :(得分:0)

应该是charAt而不是CharAt。

    int i=2;
    String a = "argsas";
    char ch=a.charAt(i); 
    System.out.println(ch);