我目前正在尝试让我的代码返回 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;
}
}
在Java中,
String.charAt(int index)
返回一个字符,int
不能隐式转换为char
。
您可以做的是将返回的字符转换为
charAt
中的String
:
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));
}
}
还有一个更简单的方法:
创建空字符串并与您的字符连接。 自动将 char 转换为 String 因为 我们正在向 String 添加一个元素,该元素本身 支持这些 char 元素的字符串:
public static String world(String original)
{
return "" + original.charAt(original.length() - 1);
}
String.charAt
返回一个 char
(请参阅此处的 API),因此您有 2 个选择:
要么您想返回
char
,并且需要更改方法的返回类型:
public static char world(String original){
return original.charAt(original.length()-1);
}
或者您想返回
String
并且您需要将 char
更改为 String
,例如使用 String.valueOf
(请参阅此处的 API)
public static String world(String original){
return String.valueOf(original.charAt(original.length()-1));
}
我对你现在想做的事情有点困惑。
您帖子中的代码返回“d”作为字符串。 您是否编辑了该帖子以提供工作版本? 这是正确的:
public static String world(String original){
return Character.toString(original.charAt(original.length()-1)) ;
}
public static void main(String[] args) {
String test= "Hello World";
System.out.println(world(test));
}