Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 反转每个奇数字符串并将它们相加_Java_String_Math_Split_Reverse - Fatal编程技术网

Java 反转每个奇数字符串并将它们相加

Java 反转每个奇数字符串并将它们相加,java,string,math,split,reverse,Java,String,Math,Split,Reverse,我想反转每一对奇数的字符串,然后将它们与偶数对相加 例如,字符串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) {

我想反转每一对奇数的字符串,然后将它们与偶数对相加

例如,字符串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;
       }
    }
publicstaticvoidmain(字符串[]args){
字符串Num=“123456789”;
System.out.println(反向(Num)+“);
} 
公共静态整数反转(字符串a){
字符串newa=“”;
字符串revString=“”;
char ch;
对于(int i=0;i
我有一个大致的想法,那就是每秒钟反转一对字符串,然后将它们放回一个新的字符串,即“213465789”。然后将字符串拆分成对,并将它们相加,以及其他任何操作,如/、*和%。但我似乎无法编写代码


提前感谢

简单地说,algo应该是

  • String Num=“123456789”

  • 循环(int i=0到n-3;i=i+2)-反转字符串

  • i
    i+1
    交换-这将提供备用版本字符串

  • 再次
    用于(int i=0到n-3;i=i+2)
    -添加总和

  • sum=sum+((chatAt(i)-'0')*10+(charAt(i+1)-'0'))
    -使用
    [char]-'0'
    逻辑将
    char
    类型转换为
    int
    ,对于字符串“21”,逻辑将具有(2*10+1)

试试这个-

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
        }
}
int pairCout=0;
整数和=0;
对于(int i=0;i字符串newa=a.substring(i,(i+2)沃尔德蒙特·洛德?是你吗?@marounnaroun:shhh…他的名字没有被记录下来!!:\n你面临的问题是什么?我似乎不能写代码。字符串中的字符数保证可以被二整除吗?最好使用
Integer.parse
将字符串转换为int@talex当前位置同意……但我更像是旧式的……再加上这个我就性能而言,thod不会造成任何损害(IMHO!!:)