【问题标题】:How I can sum all numbers in array and print them as integer value in java? [closed]我如何将数组中的所有数字相加并在java中将它们打印为整数值? [关闭]
【发布时间】:2020-11-30 21:01:44
【问题描述】:

在此处输入代码我将这个数字“811218-3476”作为字符串,我想将 8 乘以 2,1 乘 1、1 乘 2、2 乘 1 等等:

8 1 1 2 1 8 3 4 7 6

2 1 2 1 2 1 2 1 2 1 *


16 1 2 2 2 8 6 4 14 7 ---->结果

我的问题是我如何对结果求和,我确实将一个数字与另一个数字相加

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;
}

 }

【问题讨论】:

  • 你有没有尝试过?你到底卡在哪里了?
  • 是的!我编辑我的问题以显示我的代码,我可以对数字求和,但我想求和 1+6 而不是 16。

标签: java arrays sum


【解决方案1】:

这听起来像是一个家庭作业,我们不是一个家庭作业写作团队。但我会给你一些基本的建议。

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

这是一个很好的开始。

所以...启动您的程序。您需要获取数据。这样做,并弄清楚如何打印它。

之后,考虑根据您的问题将每个数字乘以 1 或 2 打印出来,然后随时打印每个计算。

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

从小处着手。努力得出最终答案。在处理它时有很多调试输出。

【讨论】:

    【解决方案2】:

    假设我有一个数字数组[2,3,4,5,6],想一想这个问题,因为您将数组中奇数位置的数字乘以 1,并将数组中偶数位置的数字乘以 2。

    回复How to add 1 + 6 instead of 16

    • 检查数字是否小于10,如果小于则不必 担心它但是,
    • 如果数字大于 10,您可以使用 % 运算符。

    例如 15 % 10 为您提供 5,15 / 10 为您提供 1,这样您就可以分隔两个单独的数字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 2011-07-28
      • 2020-01-28
      • 2021-08-17
      • 2022-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多