提示用户输入的一个长度8位正整数数字 , 我们来统计这个数字中的每一位上出现的数字的重复次数 :

来源:互联网 发布:tcp ip协议四层网络 编辑:程序博客网 时间:2024/06/05 09:27
  

提示用户输入的一个长度8位正整数数字 , 我们来统计这个数字中的每一位上出现的数字的重复次数 :
 例如:     11223344    
 里面出现了两个1 , 两个2 两个3 两个4   
 如何取出每一位的数字:     int a = 11223344    
个位数: a%10;        a = a/10;   
 十位数: a%10;        a = a/10;  
  百位数: a%10;        a = a/10;  
  千位数: a%10;
import java.util.Scanner;public class Demo1{    public static void main(String[] args){        System.out.println("请输入一个小于21亿的数字:");        Scanner input = new Scanner(System.in);        //用户输入的数字 1    1     2   2        int number = input.nextInt();        int[] arr = new int[10];        int maxIndex = 0;        for(int i=0;;i++){            arr[i] = number%10;            number /= 10;            if(number==0){                  //当循环准备退出时, 将当前存储的下标(也就是最大有效数据下标存储到这个变量maxIndex上)                maxIndex = i;                break;            }        }        //--------------------        for(int i=0;i<=maxIndex;i++){            System.out.print(arr[i]+" , ");        }           //----------------------------        //1.    存储位数上的数字 (保证不重复)        int[] arr2 = new int[arr.length];        //2.    存储与上述数组对应的次数        int[] arr3 = new int[arr.length];        //3.    arr2中存储到了哪个下标的标记        int arr2Index = 0;        for(int i=0;i<=maxIndex;i++){            /*判断arr[i],也就是当前进行比较的数字, 是否再arr2这个数组中存在*/            //用来表示下个比较的循环结果, 如果循环找到了相同的则表示false            boolean flag = true;            for(int j=0;j<arr2Index;j++){                if(arr[i]==arr2[j]){                    flag = false;                }            }        //---------------------------------------            if(flag){                //表示从未比较过此数字                arr2[arr2Index] = arr[i];                arr3[arr2Index] = 1;                arr2Index++;                for(int j=i;j<arr.length-1;j++){                    if(arr[i]==arr[j+1]){                        //如果相同表示i坐标存在相同的数字                        arr3[arr2Index-1]+=1;                        //System.out.println("寻找到一个相同的:"+arr[i]);                    }                }            }else{                //表示这个数字 再arr2数组中存在, 无需再进行比较            }        }        System.out.println();        for(int i=0;i<arr2Index;i++){            System.out.print("数字:"+arr2[i]+"出现了"+arr3[i]+"次,");        }    }}

阅读全文
0 0