JAVA小问题关于彩票的
写一个模拟彩票系统的随机数程序(从1--33里选),需要6个数java.Math.random();//取值范围是[0,1)这个区间的double类型数据要想取[1--3...
写一个模拟彩票系统的随机数程序(从1--33里选),需要6个数
java.Math.random(); //取值范围是[0,1)这个区间的double类型数据
要想取[1--33]的随机数可以:int d=(int)(33*Math.random()+1);
问题就是如何过滤重复,检验代码写的是否正确可以把33改成6看是否有重复数据就知道了
我还是新手
最好用数组、for语句
不要用list 这个还没教呢。。。
判断数字是否重复有没有笨点的方法啊
比较适合新手的 展开
java.Math.random(); //取值范围是[0,1)这个区间的double类型数据
要想取[1--33]的随机数可以:int d=(int)(33*Math.random()+1);
问题就是如何过滤重复,检验代码写的是否正确可以把33改成6看是否有重复数据就知道了
我还是新手
最好用数组、for语句
不要用list 这个还没教呢。。。
判断数字是否重复有没有笨点的方法啊
比较适合新手的 展开
3个回答
展开全部
import java.util.ArrayList;
import java.util.List;
public class Test {
/**
* @param args
*/
public static void main(String[] args){
List<Integer> list = new ArrayList<Integer>();
for(int i=0;i<6;){
int temp = (int) (Math.random()*33+1);
System.out.println(temp);
if(!list.contains(temp)){
list.add(temp);
i++;
}
}
System.out.println(list);
}
}
--------------------------------------------------------------
public class Test {
/**
* @param args
*/
public static void main(String[] args){
int[] result = new int[6];
for(int i=0;i<6;){ //i控制抽出数据的个数
int temp = (int) (Math.random()*33+1); //随机生成个1-33的数
System.out.println(temp);
boolean isExist = false; //重复标志 false-不重复,true-重复
for(int j=0;j<result.length;j++){ //循环结果数组
if(result[j] == temp){ //如果有重复数据
isExist = true; //
}
}
if(!isExist){ //如果没有重复 添加到数组中
result[i]=temp;
i++;
}
}
////数据结果
System.out.println("--------结果----------");
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
}
}
都给你加上注释了,好好读读,读明白了 不要光应付作业啊。
import java.util.List;
public class Test {
/**
* @param args
*/
public static void main(String[] args){
List<Integer> list = new ArrayList<Integer>();
for(int i=0;i<6;){
int temp = (int) (Math.random()*33+1);
System.out.println(temp);
if(!list.contains(temp)){
list.add(temp);
i++;
}
}
System.out.println(list);
}
}
--------------------------------------------------------------
public class Test {
/**
* @param args
*/
public static void main(String[] args){
int[] result = new int[6];
for(int i=0;i<6;){ //i控制抽出数据的个数
int temp = (int) (Math.random()*33+1); //随机生成个1-33的数
System.out.println(temp);
boolean isExist = false; //重复标志 false-不重复,true-重复
for(int j=0;j<result.length;j++){ //循环结果数组
if(result[j] == temp){ //如果有重复数据
isExist = true; //
}
}
if(!isExist){ //如果没有重复 添加到数组中
result[i]=temp;
i++;
}
}
////数据结果
System.out.println("--------结果----------");
for(int i=0;i<result.length;i++){
System.out.println(result[i]);
}
}
}
都给你加上注释了,好好读读,读明白了 不要光应付作业啊。
展开全部
public static void main(String args[]) {
int arr[] = new int[6];
for (int i = 0; i < 6; i++) {
arr[i] = (int) (33 * Math.random() + 1);
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i = i - 1;
break;
}
}
}
for (int j = 0; j < arr.length; j++)
System.out.print(arr[j] + " ");
} 高人可以简化;
int arr[] = new int[6];
for (int i = 0; i < 6; i++) {
arr[i] = (int) (33 * Math.random() + 1);
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i = i - 1;
break;
}
}
}
for (int j = 0; j < arr.length; j++)
System.out.print(arr[j] + " ");
} 高人可以简化;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
线性随机。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询