Java 计算整数值中每个数字的总和
在本练习中,我假设获取任意整数并计算每个数字的某些值。 我发现最好的方法是使用下面的方法。在for循环中,转换为字符串并逐个读取每个字符并求和每个字符的总和Java 计算整数值中每个数字的总和,java,casting,integer,add,Java,Casting,Integer,Add,在本练习中,我假设获取任意整数并计算每个数字的某些值。 我发现最好的方法是使用下面的方法。在for循环中,转换为字符串并逐个读取每个字符并求和每个字符的总和 import java.util.InputMismatchException; import java.util.Scanner; public class SommeChiffreNombre { /** * @param args * * Demandez à l’usager d’ent
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");
}
}
}
import java.util.InputMismatchException;
导入java.util.Scanner;
公共类SommeChiffreNombre{
/**
*@param args
*
*名义上的需求
*套间,计算房间面积
*名字和地址。
*
*我要做的事情是,我要做的是:
*
*名称如下:
* 5361
*智利索姆东部:15
*
*
*/
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
试一试{
系统输出打印(“Entrez un nombre entier:”);
扫描仪输入=新扫描仪(系统输入);
int nb=in.nextInt();
in.close();
int-somme=0;
对于(int i=0;i您可以使用模运算符并使用整数除法:
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
在@Blender的帮助下,这是正确的方法
import java.util.Scanner;
public class Question8Simple {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Entrez un nombre entier : ");
Scanner in = new Scanner(System.in);
int nb = in.nextInt();
in.close();
int sum = 0;
while (nb>=1) {
sum += nb % 10;
nb /= 10;
}
System.out.println(sum);
}
}
@BLuFeNiX我看到了。没有表达式循环就无法工作。奇怪!也许,for
更适合这里?@lifus:for(;n;n/=10)
?没错,for(;n>0;n/=10)
只是为了让它可以复制/复制。@lifus:我不会把它放在我的代码中。while
循环更清晰。@hayonj:这是一个有效的for
循环。for(;;)
也是一个有效的循环。