ターガー-6桁の数字の左右の合計が同じである数を数える必要があります3桁
何をしたか-3つの方法を準備しました:
1番目-数字から左3桁の合計を数える-正常に動作する
private static int counterLeft3(int i) {
int digitCounter=0;
int summLeft3=0;
while (digitCounter!=3){
summLeft3=summLeft3+(i%10);
i=i/10;
digitCounter++;
}
return summLeft3;
}
2番目-数字から右3桁の合計を数える-正常に動作する
private static int counterRight3(int i) {
int summRight3=0;
int buffer;
int counter=0;
while (counter!=3){
summRight3=summRight3+(i%10);
i=i/10;
counter++;
}
buffer =i;
summRight3=0;
while (buffer!=0){
summRight3=summRight3+(buffer%10);
buffer=buffer/10;
}
return summRight3;
}
3- dr-数のq-tyを数えるためのサイクル-常に0を返します。thnink-ここで私の間違いを思いついた:
private static void summCounter() {
int counter=0;
for (int i=111110; i<1000000; i++){
if (counterRight3(i)==counterLeft3(i)){
}
counter = counter++;
}
System.out.println("Q-ty is " + counter);
}
デバッグ-例
1番目の方法の結果
2番目の方法の結果
質問-3番目の方法の何が問題になっていますか?なぜそれは常に0だけを返し、カウンターは決して増加しないのですか?