学习一门面向对象语言从入门到熟练掌握要经历大量的基础语法练习,面向对象语法练习,再到后面的开发练习,当然算法的逻辑训练也是非常必要的。
现在要解决的问题是通过输入一个数值然后输出随机一组随机数,就类似买彩票吧,这里面需要用到随机函数和递归思想,下面是code
import java.util.*; //导入java.until包中的所有类
class B{
public static void main(String [] args){
System.out.println("请交钱:");
Scanner key = new Scanner(System.in);
int money = key.nextInt();
getCaiPiao(money);
}
public static void getCaiPiao(int money){
int count= money /2; //两块一注
for(int i=1;i<=count;i++){
getOneZhuCaiPiao();
}
}
public static void getOneZhuCaiPiao(){
//搞七颗龙珠
//定义一个龙珠池
int [] longzhus = new int[36];
//龙珠 池
for(int j=0;j<longzhus.length;j++){
longzhus[j] = j+1;
}
for(int k=1;k<=7;k++){
//搞一个随机下标
int pos = (int)(Math.random()*(37-k));
//随机 龙珠 将该龙珠放到最后
int tmp = 0;
tmp = longzhus[pos] ;
longzhus[pos] =longzhus[longzhus.length-k];
longzhus[longzhus.length-k]=tmp;
}//一注结束
//打印一注
for(int n=1;n<=7;n++){
System.out.print(longzhus[36-n]+"\t");
}
System.out.println();
}
}
输入23 得到11注彩票,下图是运行结果