我想反转每对奇数个字符串,并将它们与偶数对加在一起。

例如,字符串123456789将变成213465789,然后将它们加在一起将得到21 + 34 + 65 + 78 + 9 = 207。

我当前的代码是

public static void main(String[] args) {
    String Num = "123456789";
    System.out.println(reverse(Num) + ".");
}

public static int reverse(String a) {
    String newa = "";
    String revString = "";
    char ch;
    for (int i = 0; i < a.length(); i=i+4) {
        newa = (a.substring(i, i + 2));
        ch = newa.charAt(i);
        revString = ch + revString;
       }
    }


我确实有一个大体上的想法,那就是将第二对字符串反转,然后将它们放回新的字符串中,即“ 213465789”。然后将字符串分成两对,并将它们加起来,以及其他任何操作,例如/,*和%,但我似乎无法编写我的代码

提前致谢

最佳答案

尝试这个 -

int pairCout=0;
int sum =0;
for (int i = 0; i < a.length();i+=2) {
        String newa = a.substring(i, (i + 2)<a.length()?(i+2):a.length());
        pairCout++;
        if(pairCout%2 ==0){     // EVEN/ODD separation
            String reverse = new StringBuilder(newa ).reverse().toString();
            sum+=Integer.parseInt(reverse); // SUMMATION
        }else{
            sum+=Integer.parseInt(newa );  // SUMMATION
        }
}


只是一种方法-输出-207

10-05 18:38