Java 方法、字符串、字符有问题
我目前正试图让我的代码在hello world中返回字母“d”,但不确定代码有什么问题:Java 方法、字符串、字符有问题,java,string,char,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= origin
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
您可以将返回的字符转换为字符串中的字符:
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.charAt
返回一个char
(),因此您有两个选项:
要返回char
,需要更改方法的返回类型:
public static char world(String original){
return original.charAt(original.length()-1);
}
或者您想返回一个字符串
,您需要使用String.valueOf
将char
更改为String
,例如()
我对你现在想做的事有点困惑 文章中的代码以字符串形式返回“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));
}
将
stringworld
更改为charworld
,您可以使用返回original.charAt(original.length()-1)代码>将方法世界的返回类型从字符串更改为字符。编写代码时是否使用IntelliJ或Eclipse之类的IDE?您的错误是代码linter通过IDEGUI查找和报告的经典示例……您不需要linter,因为此代码甚至不会编译。该方法声明为返回字符串
,因此编译器不允许返回int
。返回original.charAt(original.length()-1)。toString()Dude@YCFúL在评论中写下了大部分答案。。。。。。你不认为他应该为此得到表扬吗?你没有写答案,你写了评论。你写评论不会获得任何声誉。你有积分,已经对你的评论投了4票。我写了一篇关于使用IDE的评论,@YCF_L在评论中写下了答案。@RannLifshitz没有人说相反的话。他写了一篇评论。如果他想要名声,他会写一个答案。他有23K的名声,所以我想他知道这一点。否决完美答案是没有用的。在工作关系/学术界有一个基本概念,当你使用或基于他人的工作时,你会给予他们信任。这是一件体面的事情。在我看来,当有详细内容的评论时,否决一个答案似乎是合法的。你想取消否决票吗?在回答问题时,首先要给予表扬。至少要在评论中提到@YCF_L,他写了你在这里发布的部分内容作为回答。@RannLifshitz好吧,编辑我的帖子,我希望现在没有冲突,很抱歉给您带来不便,伙计。@Héctormauelmartinezdurán不知道您说的和int不能隐式转换为char是什么意思,您的意思是和int/char不能隐式转换为String
?@Bentaye int x=original.charAt(original.length()-1);是的,有人用答案编辑了这个问题,我把它编辑回原来的形式。
public static String world(String original){
return String.valueOf(original.charAt(original.length()-1));
}
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));
}