gpt4 book ai didi

java - 我在方法中得到了正确的反转字符串,但是当我返回到 main() 时,它显示错误的字符串作为输出

转载 作者:行者123 更新时间:2023-11-29 07:56:52 25 4
gpt4 key购买 nike

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package revstring;

/**
*
* @author Pawan
*/
public class RevString {

private String substr="";
private String temp="";
private static int strLength=0;
private String reversed="";

public String revString(String str)
{
Character ch;

strLength=str.length();
System.out.println("length- "+strLength);

if(strLength!=0)
{
ch=str.charAt(strLength-1);
temp=temp+ch;
substr=str.substring(0,strLength-1);
if(substr.equals("")){reversed=temp; return reversed;}
return temp+revString(substr);
}
return reversed;
}


public static void main(String[] args) {
RevString rev=new RevString();
System.out.println("reversed string- "+rev.revString("PAWAN"));
}


}

最佳答案

您的问题是您将变量用作类变量,即 substr、temp、strLength、reversed 应该在 revString() 中。然后就可以了。

固定:

public class RevString {


public String revString(String str) {
String substr="";
String temp="";
int strLength=0;
String reversed="";
Character ch;
strLength=str.length();
System.out.println("length- "+strLength);

if(strLength!=0)
{
ch=str.charAt(strLength-1);
temp=temp+ch;
substr=str.substring(0,strLength-1);
if(substr.equals("")){reversed=temp; return reversed;}
return temp+revString(substr);
}
return reversed;
}


public static void main(String[] args) {
RevString rev=new RevString();
System.out.println("reversed string- "+rev.revString("PAWAN"));
}

}

关于java - 我在方法中得到了正确的反转字符串,但是当我返回到 main() 时,它显示错误的字符串作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com