在java中,如何对数组中的所有数字求和并将它们打印为整数值?

在java中,如何对数组中的所有数字求和并将它们打印为整数值?,java,arrays,sum,Java,Arrays,Sum,在此处输入代码我将此数字“811218-3476”作为字符串,我想将8乘以2,1乘以1,1乘以2,2乘以1,依此类推,如下所示: 81218183476 2121212121* 161222864147--->结果 我的问题是我如何计算结果的和,我用一个数和另一个数求和,就像 16+1+2+2+2+8+6+4+14+7=62 但我想做如下总结: 1+6+1+2+2+2+8+6+4+1+4+7=47。 我不需要你写一个我已经写过的代码,但我想知道我是如何把求和1+6而不是16作为例子的。我的代码

在此处输入代码我将此数字“811218-3476”作为字符串,我想将8乘以2,1乘以1,1乘以2,2乘以1,依此类推,如下所示:

81218183476

2121212121*


161222864147--->结果

我的问题是我如何计算结果的和,我用一个数和另一个数求和,就像

16+1+2+2+2+8+6+4+14+7=62

但我想做如下总结:

1+6+1+2+2+2+8+6+4+1+4+7=47。

我不需要你写一个我已经写过的代码,但我想知道我是如何把求和1+6而不是16作为例子的。我的代码在这里,运行良好。 我希望你能知道

谢谢

enter code here

 public static boolean checknumber(String s) {
 if(checkPersonNummer(s)== true) {
    char [] charray = s.toCharArray();
    int newch = 0 ;
    int j = 0;
    int i = 0;
  String sum= "";
    
    int x = 0;
    
        for( j = 2; j < 8 ; j++) {
        System.out.print(" "+ charray[j] + "  ");}
        for( j = 9; j < charray.length ; j++) {
            System.out.print(" "+ charray[j] + "  ");}
         System.out.println("  ");
        for( j = 2; j < 8 ; j++) {
        if(j%2 == 0) {
            System.out.print(" "+ 2 +  "  ");
            } else {
                System.out.print(" "+ 1 +  "  ");
            }
        }
        // System.out.println("  ");
            for( j = 9; j < charray.length; j++) {
            if(j%2 == 0) {
                System.out.print(" "+ 2 +  "  ");
                } else {
                    System.out.print(" "+ 1 +  "  ");
                }
            }
        System.out.print("\n--------------------------------------------");
        System.out.println("");
        
        for( i = 2;i < 8;i++) {
        if(i% 2 == 0) {
            newch = Character.getNumericValue(charray[i] )* 2;
            sum  += newch;
            
            }
        else {
            newch = Character.getNumericValue(charray[i]) * 1;
            sum  += newch;
            
        }
        
        System.out.print(newch + "   " );
        
    }
        for( i = 9;i < charray.length;i++) {
            if(i% 2 == 0) {
                newch = Character.getNumericValue(charray[i] )* 1;
                sum  += newch;
                
                }
            else {
                newch = Character.getNumericValue(charray[i]) * 2;
                sum += newch;
            
            }
            
            System.out.print(newch + "   " );
        }   
        System.out.println();
        System.out.print("Total = " + sum);
    }   
        
return true;
}

 }
在此处输入代码
公共静态布尔校验号(字符串s){
如果(checkPersonNummer)=真){
char[]charray=s.toCharArray();
int-newch=0;
int j=0;
int i=0;
字符串sum=“”;
int x=0;
对于(j=2;j<8;j++){
System.out.print(“+charray[j]+”);}
对于(j=9;j
这听起来像是一个家庭作业,我们不是一个家庭作业编写团队。但我会给你一些基本的建议

首先,我让一个人告诉我,“编程是编辑空程序的艺术,直到它完成你想要的”。他的意思是,我们从一个什么都不做的程序开始,然后慢慢地建立起来

这是一个很好的开始

所以。。。启动你的程序。你需要把你的数据放进去。这样做,并找出如何打印它

在那之后,考虑根据你的问题需要打印出每一个数字乘以1或2,然后一边打印每一个计算结果

然后,您所要做的就是在这个循环之外保留一个变量来存储总和,并将每个小计算添加到其中,然后在最后打印它


从小处做起。直到最后的答案。处理时会有大量的调试输出。

假设我有一个数字数组
[2,3,4,5,6]
,请考虑这个问题,因为您将数组中奇数位置的数字与1相乘,将数组中偶数位置的数字与2相乘

回答
如何添加1+6而不是16

  • 检查数字是否小于10,如果小于10,则不必检查 担心,但是,
  • 如果数字大于10,则可以使用%运算符
例如
15%10
给你5,而
15/10
给你1,这样你就可以把两个数字分开。

你试过什么了吗?你到底被困在哪里?是的!我编辑我的问题来显示我的代码,我可以做数字的和,但我想和1+6而不是16。