一、 程序设计思路
提示用户输入整数,定义变量number,输入正整数number,调用函数执行判断是几位数、取每一位数、求和。函数中首先定义几位数变量,和变量,amount=1(最小的正整数只有一位);存放每一位数的数组等,在while循环中不断除以10,amount++,直到除10等于0 结束,amount的值就是位数;在while循环中先将正整数x除10取余,然后除10取整把这个数赋值给x,把这余数存到数组里,并将每一位加起来,循环结束条件是取整之后的数x为0;从倒叙输出数组里面的数,输出和;
二、 程序流程图
三、 程序代码
import java.util.Scanner;
public class IntGet {
public static void main(String[] args) {
System.out.print("请输入整数:");
Scanner input=new Scanner(System.in );
int number=input.nextInt();
num(number);
}
static void num(int number)
{
int amount=1,sum=0;//amount 记录是几位数,sum为各位之和
int a[]=new int [10];//数组存放各位的数
int m=number,x=1,i=10;
while(x!=0)//判断有几位
{
x=m/i;
if(x!=0)
amount++;
i=i*10;
}
System.out.print(amount+"位数字分别为:");
x=number;
int k=0;
while(x!=0)
{
m=x%10;//取到每一位数
x=x/10;
a[k]=m;//存到数组里
k++;
sum=sum+m;
}
k=amount-1;
while(k>=0)//倒叙输出
{
System.out.print(a[k]+" ");
k--;
}
System.out.println();
System.out.println(amount+"位数字之和为:"+sum);
}
}
四、 结果截图
五、 实验总结
看完题干直接就开始代码绝对是不正确的,脑子非常乱;必须先在纸上写一下,画一下流程图流程图,然后思路就比较清晰了,其实写代码的时间是很少的,关键是思路。数组倒叙输出时是从k-1开始。