感觉搜这个的比较多,把这个完善一下。希望对你们有帮助。

我博客的其他东西也还行的哈,可以看看。

java获取整数各个位上的数

思想是:先取余,然后除以10,得到temp,再取余,再除以10 ,得到temp,依次类推


下面是我写项目的一部分,写了循环结构获取每一位的数字,把代码贴出来了,

这个函数的作用是获取每一位数字,然后依次画到屏幕上。

 

public void drawValue(Graphics g){
//        System.out.println(value);
        int power = value;
        if(power > 99999){
            power = 99999;
        }
        int[] arr = new int[5];
        for (int i = 0; i < 5; i++) {
            arr[i] = power % 10 ;
            power /= 10;
//            System.out.println(arr[i]);
        }
        /*
        * 依次画出每一位的部分
        * */
        int temp = 0; // 用于计算是否是高位为零
        for (int i = 4; i >= 0; i--) {
            if (arr[i] != 0 || (temp > 0)){
//                System.out.println(arr[i]);
                g.drawImage(imgs[ arr[i] ],x - i * 25,y,null);
                temp++;
//                System.out.println(arr[i]);
            }
        }
    }

 

未用循环结构:

 

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc =new Scanner(System.in);
        int num=sc.nextInt();
        int f[]=new int[10];
        
        //我写的是四位数,可以思考下写成循环的形式,思想都是一样的
            
            int temp = num;
        f[0] = temp % 10;
        temp = temp / 10;
        f[1] = temp % 10;
        temp /= 10;
        f[2] = temp % 10;
        temp /= 10;
        f[3] = temp % 10;


            System.out.print(f[3]+" "+f[2]+" "+f[1]+" "+f[0]);
            
                
    }

}