题目:编写程序,从键盘输入一个整数,计算并输出该数的各数之和。
思路:提取出各个位数上的数字单独相加起来
如何提取?
一、取用往期教学编写最无脑最易读程序
import java.util.Scanner;
public class SumNumber {
public static void main(String[]args){
System.out.println("请输入一个整数:");
Scanner qu =new Scanner(System.in);
int x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0;
int number= qu.nextInt();
x1=number%10; //个位
x2=number/10%10;//十位
x3=number/100%10;//百位
x4=number/1000%10;//千位
x5=number/10000%10;//万位
x6=number/100000%10;//十万位
x7=number/1000000%10;//百万位
//以此类推,小火伴们勤劳一点就可以任意发挥了
int output;
output=x1+x2+x3+x4+x5+x6+x7;
System.out.println("各数之和为:"+output);
}
}
缺点:代码繁琐、容易写错 、所转化数受编写的限制
优点:通俗易懂、新手易解读
二、取用循环方法写出(简单很多)
运用while循环写出的要简洁很多,但是需要一定循环使用基础。
import java.util.Scanner;
public class SumNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个数字:");
int number = sc.nextInt();
int sum=0;
while(number!=0){
sum += number%10;
number = number/10;
}
System.out.println("各数之和为:"+sum);
}
}
讲解:while在输入数不等于0的情况下运行求数,直到所有数均已提取即结束循环进入下一功能代码。
代码均可自行推算,就不做过多讲解