标签:
在1-36之间随机生成6个不同的数字:
1 import java.util.*; 2 public class Random1{ 3 public static void main(String [] args){ 4 Random r=new Random();//定义随机生成器 5 int num[]=new int[6];//定义一个长度为6的数组 用来存放生成的数 6 //产生随机数 7 for(int i=0;i<6;i++){ 8 num[i]=r.nextInt(36)+1;//随机生成的数字是0-35,彩票号码是0-36 所以要+1 9 for(int j=0;j<i;j++){//新生成的数字要跟之前的数字比较 如果出现重复 则计数器-1 重新生成 10 if(num[j]==num[i]){ 11 i--;break; 12 } 13 } 14 } 15 Arrays.sort(num);//对已经生成的6个号码 从大到小排序 16 System.out.print("中奖号码:"); 17 for(int a :num){ 18 System.out.print(a+" "); 19 }
运行结果:中奖号码:7 15 23 28 31 33
任何一个4位数(4个数字均为同一个数字的例外),组成该数的4个数字重新组合成可能的最大数和可能的最小数,求最大数与最小数的差 并输出最终结果:
Scanner sc2=new Scanner(System.in); System.out.print("请输入一个每位上不完全形同的四位数:"); int []n=new int[9999]; n[0]=sc2.nextInt(); for(int z=0;;){ //分拆4位数的每一位 int arr[]={0,0,0,0}; arr[0]=n[z]%10; arr[1]=n[z]/10%10; arr[2]=n[z]/100%10; arr[3]=n[z]/1000%10; //对每位上的数 从小到大排序 for(int x=0;x<4;x++){ for(int y=0;y<4-x-1;y++){ if(arr[y]>arr[y+1]) { int t=arr[y]; arr[y]=arr[y+1]; arr[y+1]=t; } } } //重新组合后的最大数和最小数 int nMax=arr[3]*1000+arr[2]*100+arr[1]*10+arr[0]; int nMin=arr[0]*1000+arr[1]*100+arr[2]*10+arr[3]; //计算最大数与最小数的差 并存入一个新数组中 z++; n[z]=nMax-nMin; //当两次的结果相同的时候 跳出循环 if(n[z]==n[z-1]) break; System.out.println("第"+z+"次的运算结果:"+n[z]);
运行结果:
标签:
原文地址:http://www.cnblogs.com/ouyangtangfeng99/p/5481262.html