反转字符串变量

时间:2014-04-07 17:40:49

标签: 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 + " ";
            }
        }
        System.out.println(" ");
    } else {
        System.out.println(in + " no factorials");
    } 

它的打印方式如下:

  

496:1 2 4 8 16 31 62 124 248

但我想将factorials输出反转为:

  

496:248 124 62 31 16 8 4 2 1

我试图扭转for循环,但它有效,所以任何想法的人?

2 个答案:

答案 0 :(得分:2)

改变循环确实是你需要的:

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

顺便问一下,你是怎么发布你的代码的?您粘贴(或键入)的内容不会打印任何因子,s =+ ...应该是s += ...,对吧?请尽可能简洁,所以我们必须猜测/纠正真正的问题,而不是任何错别字。

答案 1 :(得分:0)

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

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'