遇到方法,字符串,字符有问题

Lot*_*nji 3 java string char

我目前正在尝试让我的代码在hello world中返回字母'd',并且不确定代码有什么问题:

 public class StringTest{
    public static void main(String [] args){
        String test= "Hello World";
        world(test);
    }

    public static String world(String original){
        int x= original.charAt(original.length()-1);
        return x;
    }
}
Run Code Online (Sandbox Code Playgroud)

Héc*_*rán 5

在Java中,String.charAt(int index)返回一个字符,并且int不能隐式转换为char

你可以做的是将返回的字符转换为字符串中的charAt:

public class StringTest{
    public static void main(String [] args){
        String test= "Hello World";
        world(test);
    }

    public static String world(String original)
    {
       return Character.toString(original.charAt(original.length()-1));
    }
Run Code Online (Sandbox Code Playgroud)

此外,一个更简单的方法:

创建空String并使用char进行conacatenate.自动将char转换为String,因为我们正在向String添加一个元素,该String本身支持这些char元素的字符串:

    public static String world(String original)
    {
       return "" + original.charAt(original.length()-1); 
    }

}
Run Code Online (Sandbox Code Playgroud)