課堂測試2數字問題
import java.util.Scanner;
public class Numbers {
public void Judgy(int n){
for(int i=0;i<100;i++){
if(n/(int)(Math.pow(10,i))>0&&n/(int)(Math.pow(10,i+1))<=0)
System.out.println("該數字是"+(i+1)+"位數");
}
}
public void TakeNum(int n){
int nums[]=new int[100];
for(int i=0;i<100;i++){
if(n/(int)(Math.pow(10,i))>0&&n/(int)(Math.pow(10,i+1))<=0){
for(int j=i;j>=0;j--)
{
nums[j]=(int)(n/(int)Math.pow(10,j));
n=n-nums[j]*(int)Math.pow(10,j);
System.out.println("第"+(j+1)+"位數字為"+nums[j]);
}
}
}
}
public void Sum(int n){
int sum=0;
int nums[]=new int[100];
for(int i=0;i<100;i++){
if(n/(int)(Math.pow(10,i))>0&&n/(int)(Math.pow(10,i+1))<=0){
for(int j=i;j>=0;j--)
{
nums[j]=(int)(n/(int)Math.pow(10,j));
n=n-nums[j]*(int)Math.pow(10,j);
sum=sum+nums[j];
}
}
}
System.out.println("各個位上的數字之和為"+sum);
}
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("請輸入一個整數:");
int x=input.nextInt();
Numbers num=new Numbers();
num.Judgy(x);
num.TakeNum(x);
num.Sum(x);
}
}
課堂測試2數字問題