我无法解析为变量。我正在编写一个java程序,它将字符串反转为参数

我无法解析为变量。我正在编写一个java程序,它将字符串反转为参数,java,syntax,Java,Syntax,我在charAt(i)的“i”中遇到了一个问题。删除循环后面的分号 package String; public class A { public static void main(String[] args) { System.out.println(reverse("java")); System.out.println(reverse("yuvaraj")); } public static String reverse(String s)

我在charAt(i)的“i”中遇到了一个问题。

删除循环后面的分号

package String;

public class A {


    public static void main(String[] args) {
    System.out.println(reverse("java"));
    System.out.println(reverse("yuvaraj"));
    }
    public static String reverse(String s)
    {
    int len=s.length();
    String s1=" ";

    for(int i=len-1;i>=0;--i);
    {
        s1+=s.charAt(i);//in this line problem occurs
    }
    return s1;
    }
}
循环后的分号,导致循环体结束于此,而不执行任何类似于(int i=len-1;i>=0;--i){}no body的操作,因此,行
s1+=s.charAt(i)不在循环体中,导致出现错误。所以把它改成

for(int i=len-1;i>=0;--i);   // is causing the issue

删除中行末尾的分号

for(int i=len-1;i>=0;--i)

删除
for
的code>loopi在外部声明了i,并进行了编译,但在控制台中显示错误,线程“main”java.lang.StringIndexOutOfBoundsException中出现错误异常:字符串索引超出范围:-1 at java.lang.String.charAt(未知源代码)at String.A.reverse(A.java:17)at String.A.main(A.java:7)Change
for(int i=len-1;i>=0;--i)
for(int i=len-1;i>=0;--i)
。感谢您,它成功了吗?您不应该在循环中使用字符串连接。改用
StringBuilder
for(int i=len-1;i>=0;--i);
public static String reverse(String s)
    {
    int len=s.length();
    String s1="";
    for( int i=len-1;i>=0;i--)
    {
        s1=s1+s.charAt(i);

    }
    return s1;