如果您在 .modify 中的方法中返回一个值,则必须取回该值:
你正在做的:
String s = "Looooolasdasdl";
rt.modify(s);
System.out.println(s);
你需要做
String s = "Looooolasdasdl";
String s2 = rt.modify(s);
System.out.println(s2);
在修改方法中,您需要获得 alg_flip() 调用的返回
public String modify(String s) {
return alg_flip(s);
}
编辑
如果你使用很多算法,你应该考虑策略模式
您尝试的主要问题仍然是您调用带有参数的方法,但是您没有保存从 return 语句中获得的发生的事情。
编辑2:
我得到了你的主要问题,虽然退货部分也是一个问题:
for(int i = s.length() - 1; i >= 0; i++) {
s1 = s1 + s.charAt(i);
}
您想在 i 处获取字符并执行 for 循环反转,但您将 i 变量相加
for(int i = s.length() - 1; i >= 0; i--) {
s1 = s1 + s.charAt(i);
}
这是你应该做的
这对我有用:
public class Main {
public static void main(String[] args) throws ParseException {
RTAlgorithm rta = new RTAlgorithm();
String s = "Looooolasdasdl";
s = rta.encrypt(s);
System.out.println(s);
}
}
class RTAlgorithm {
public static String encrypt(String s) {
return alg_flip(s);
}
private static String alg_flip(String s) {
String s1 = "";
for (int i = s.length() - 1; i >= 0; i--) {
s1 = s1 + s.charAt(i);
}
return s1;
}
}
但是如果你写静态方法,你真的不需要创建一个实例。
而不是rt.encrypt(s);
你可以说RTAlgorithm.encrypt(s);