Java 反转字符串变量

Java 反转字符串变量,java,string,loops,reverse,Java,String,Loops,Reverse,所以我有这个代码: int in = 496; boolean b = true; Sting s = "": if (b) { int test = 0; System.out.print(in + ":"); for (int i = 1; i < in; i++) { if (in % i == 0) { test += i; s += i

所以我有这个代码:

int in = 496;
boolean b = true; 
Sting s = "": 

if (b) {
        int test = 0;

        System.out.print(in + ":");

        for (int i = 1; i < in; i++) {
            if (in % i == 0) {
                test += i;
                s += i + " ";
            }
        }
        System.out.println(" ");
    } else {
        System.out.println(in + " no factorials");
    } 
int in=496;
布尔b=真;
Sting s=“”:
如果(b){
int检验=0;
系统输出打印(输入+“:”;
for(int i=1;i
它是这样打印的:

496:1 2 4 8 16 31 62 124 248

但我想反转阶乘输出,如下所示:

496:2481246213168421


我试着反转for循环,但它成功了,所以有什么想法吗

更改循环确实是您需要的:

for (int i = in-1; i > 0; i--) {

顺便问一下,你是如何发布代码的?粘贴(或键入)的内容不会打印任何阶乘,
s=+…
应该是
s+=…
,对吗?请尽量简明扼要,这样我们只能猜测/纠正真正的问题,而不能纠正任何打字错误。

未经测试,但为什么这不起作用

int in = 496;
boolean b = true; 
Sting s = "": 

if (b) {
    int test = 0;

    System.out.print(in + ":");

    for (int i = in-1; i > 0; i--) {
        if (in % i == 0) {
            test += i;
            s =+ i + " ";
        }
    }
    System.out.println(" ");
} else {
    System.out.println(in + " no factorials");
} 

此外,如果您使用更好的变量名,它将帮助所有人。。。一旦你的方法变得更复杂,就很难遵循“s”、“b”、“i”甚至“in”。

看这里:向我们展示你反转循环的代码。我看到
=+
你的意思是
+=
?我尝试过for循环:
for(int i=in;i>=0;i-)
,但它不起作用,但我看到@Bart answer是有效的。Bart刚刚打败了我。这就是我在回答中所改变的。是的,
=+
是一个打字错误,使用这种方法很有效!行
s+=i+''中有一个输入错误它应该
s+=i+''的位置和我的道歉,我试图使这段代码非常简短,因为它只是一个测试代码到一个更大的程序。