我一直得到这个错误int无法解除引用

时间:2015-11-22 19:29:56

标签: java

代码应该返回字符串的第一个和最后一个字母,但是我一直得到这些错误第5行:int无法解除引用而第6行:int不能被解除引用

public String firstAndLast(String str)
  {
  int length = str.length();
  char first= length.charAt(0);
  char last= length.charAt(length - 1);
  return String.valueOf(first) + String.valueOf(last); 
  }

2 个答案:

答案 0 :(得分:5)

char last= length.charAt(length - 1);

但是

char last= str.charAt(length - 1);

更重要的是,错误消息告诉您问题的确切位置 - 哪一行,以及哪些错误 - 您尝试调用长度方法,即int。将来,请仔细阅读错误消息,因为他们通常会向您提供问题,一旦您理解了问题,解决方案就会很明显。

答案 1 :(得分:2)

length是原始类型int变量。你不能通过它调用方法,也许代码会这样?

    public String firstAndLast(String str)
    {
        int length = str.length();
        char first= str.charAt(0);
        char last= str.charAt(length - 1);
        return String.valueOf(first) + String.valueOf(last); 
    }