【发布时间】: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。