我无法解析为变量。我正在编写一个java程序,它将字符串反转为参数
我在charAt(i)的“i”中遇到了一个问题。删除循环后面的分号我无法解析为变量。我正在编写一个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)
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)Changefor(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;