k[i]= (int) (Math.random()*(max-min)+min);
一下是演示
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = (int) (Math.random() * (30 - 1) + 1);
System.out.println(a);
}
}
这样就可以随机打印。
写一个彩票程序:30选7。
具体题目:写一个彩票程序:30选7。然后从键盘输入7个数,然后随机(1~30之间)生成7个随机数,注意不能重复,对比7个数是否与随机数有相同的。最后显示“中了几个号”。同时,如果中了7个号,显示一等奖;如果中了6个号,显示二等奖;如果中了5个号,显示三等奖。要求:选用合适的容器和算法。(说明:键盘输入可以使用Scanner类)
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// int a = (int) (Math.random() * (30 - 1) + 1);
// System.out.println(a);
// }
//}
HashSet<Integer> s = new HashSet<Integer>();//其实我很想用这个!!!!!!!!!!!
int[] k = new int[7];
int i=0,n=0,t=0;
for(i=0;i<7;i++)
k[i]= (int) (Math.random()*(30-1)+1);
while(n<7){
int a = sc.nextInt();
for( i=0;i<7;i++){
if(k[i]==a){
t++;
}
}
n++;
}
System.out.println("中了"+t+"个号码");
if(t==7){
System.out.println("一等奖");
}
else if(t==6){
System.out.println("二等奖");
}
else if(t==5){
System.out.println("三等奖");
}
}
}
完成
(int)(Math.random()*(30-1)+1);
待补充:如何仅仅输入字符串就完成功能,而不是一个个地敲入数字!