我想反转每对奇数个字符串,并将它们与偶数对加在一起。
例如,字符串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