在这个练习中,我假设抓取任何整数并计算每个数字中的一些。我发现最好的方法是使用下面的方法。转换为字符串并逐个读取每个字符,并在 for 循环中汇总每个 while 的总和。
import java.util.InputMismatchException;
import java.util.Scanner;
public class SommeChiffreNombre {
/**
* @param args
*
* Demandez à l’usager d’entrer un nombre entier
* Ensuite, calculez la somme de tous les chiffres de ce
* nombre et affichez le résultat.
*
* L’affichage obtenu doit être semblable aux suivants :
*
* Entrez un nombre entier :
* 5361
* La somme des chiffres est : 15
*
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
System.out.print("Entrez un nombre entier : ");
Scanner in = new Scanner(System.in);
int nb = in.nextInt();
in.close();
int somme = 0;
for(int i=0;i<Integer.toString(nb).length();i++){
char charVal = Integer.toString(nb).charAt(i);
somme += Character.getNumericValue(charVal);
}
System.out.println("La somme des chiffres est : "+somme);
} catch (InputMismatchException e) {
// TODO Auto-generated catch block
System.out.println("You didn't enter an Integer Value");
}
}
}
显然,这不是它应该做的方式。即使我这样做不会得到分数。
有一种更简单的方法,只使用整数而不转换或转换为另一种类型 有人知道如何完成这项任务吗?