我目前正试图让我的代码在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;
}
}
答案 0 :(得分: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));
}
另外,更简单的方法:
创建空String并使用char进行conacatenate。 自动将此转换为String,因为 我们正在向String本身添加一个元素 支持char:
这些元素的字符串
public static String world(String original)
{
return "" + original.charAt(original.length()-1);
}
}
答案 1 :(得分:3)
String.charAt
会返回char
(see API here),因此您有2个选项:
要么返回char
,您需要更改方法的返回类型:
public static char world(String original){
return original.charAt(original.length()-1);
}
或者您想要返回String
,并且需要将char
更改为String
,例如使用String.valueOf
(see API here)
public static String world(String original){
return String.valueOf(original.charAt(original.length()-1));
}
答案 2 :(得分:0)
我对你现在要做的事情感到有点困惑。
您帖子中的代码会返回" 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));
}