黑马程序员技术交流社区
标题:
练习语句
[打印本页]
作者:
18895700133
时间:
2016-5-11 21:55
标题:
练习语句
在1-36之间随机生成6个不同的数字:
import java.util.*;
public class Random1{
public static void main(String [] args){
Random r=new Random();//定义随机生成器
int num[]=new int[6];//定义一个长度为6的数组 用来存放生成的数
//产生随机数
for(int i=0;i<6;i++){
num[i]=r.nextInt(36)+1;//随机生成的数字是0-35,彩票号码是0-36 所以要+1
for(int j=0;j<i;j++){//新生成的数字要跟之前的数字比较 如果出现重复 则计数器-1 重新生成
if(num[j]==num[i]){
i--;break;
}
}
}
Arrays.sort(num);//对已经生成的6个号码 从大到小排序
System.out.print("中奖号码:");
for(int a :num){
System.out.print(a+" ");
}
复制代码
任何一个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://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2