Java 我无法打印已转换字符串的值

Java 我无法打印已转换字符串的值,java,Java,我想反转一个字符串。我知道还有其他的方法,但我想用另一种方式。运行代码时没有错误,但没有输出。我不明白为什么String.valueOfword.charAti不返回值?我错过什么了吗 String word = "myword"; for (int i = word.length(); i <= 0; i--) { System.out.print(String.valueOf(word.charAt(i))); } 您的代码有两个问题 我应该用word.length-1初始化

我想反转一个字符串。我知道还有其他的方法,但我想用另一种方式。运行代码时没有错误,但没有输出。我不明白为什么String.valueOfword.charAti不返回值?我错过什么了吗

String word = "myword";
for (int i = word.length(); i <= 0; i--) {
    System.out.print(String.valueOf(word.charAt(i)));
}

您的代码有两个问题

我应该用word.length-1初始化。另一方面,您将获得StringIndexOutOfBoundsException for循环条件应大于等于0。 下面是正确的代码。 i的第一个值超出索引。我还修改了你的密码。检查以下内容:

      String word = "myword";
      for(int i=word.length()-1;i>=0;i--){
      System.out.print(String.valueOf(word.charAt(i)));}

只是为了提供另一个稍微不同的解决方案:

可以使用StringBuilder使用其方法reverse反转字符串。 如果您有一个字符串,可以使用它初始化StringBuilder并直接反转它。 此示例还使用了一个增强的for循环,它始终贯穿所有元素。使用它,您可以不用检查字符串的长度,也不必使用int i进行迭代。 对于您的需求,这是一个合适的选项,因为您希望反转整个字符串

请注意,您可以使用反转方法在一行中打印反转的单词

System.out.println(new StringBuilder(word).reverse().toString());

当i等于或小于0时,循环运行。事实并非如此。将其更改为:i>0,然后重试again@StultuskeOP接下来会得到一个索引越界异常。forint i=word.length-1;i> =0;我不需要绳子。valueOf@Sweeper的确我不想用勺子把它全舀出来。我认为,如果OP知道要做的第一个更改,那么他/她自己就很容易发现另外两个
String word = "myword";

for (char c : new StringBuilder(word).reverse().toString().toCharArray()) {
    System.out.println(c);
}
System.out.println(new StringBuilder(word).reverse().toString());