Arrays: 用于处理数组的工具类
常见的方法:
//默认升序排序
Arrays.sort(numberList);
for (int i : numberList) {
System.out.println(i);
}
//指定从哪到哪索引位置排序,例如[0,4) ,注意区间
Arrays.sort(numberList,0,4);
for (int i : numberList) {
System.out.println(i);
}
//填充,用5去填充数组
Arrays.fill(numberList,5);
for (int i : numberList) {
System.out.println(i);
}
//填充某个区间,用索引,例如[0,3)用5去填充
Arrays.fill(numberList,0,3,5);
for (int i : numberList) {
System.out.println(i);
}
//复制数组,并指定新数组长度
int[] newList = Arrays.copyOf(numberList,5);
for (int i : newList) {
System.out.println(i);
}
注意: 使用二分查找法,数组是需要提前排序的
//二分搜索法,例如查找34在数组中的索引
Arrays.sort(numberList);
int index = Arrays.binarySearch(numberList,34);
System.out.println(index);
双色球游戏:
中奖规则
Random r = new Random();
int[] comRed = new int[6];
//蓝球号码产生
int comBlue = r.nextInt(16) + 1;
for (int i = 0;i < comRed.length;i++){
comRed[i] = r.nextInt(33) + 1;
//判断号码是否重复,重复在随机产生
for (int j = 0;j < i;j++){
if (comRed[j] == comRed[i]){
i--;
break;
}
}
}
//购买者红球号码
int[] userRed = new int[6];
//购买者蓝球号码
int userBlue;
for (int i = 0;i < 6;i++){
System.out.println("请输入购买的第" +(i + 1)+ "注红球号码");
userRed[i] = sc.nextInt();
if (userRed[i] < 1||userRed[i]>33){
System.out.println("红球号码范围[1,33]");
System.out.println("请输入购买的第" +(i + 1)+ "注红球号码");
userRed[i] = sc.nextInt();
}
for (int j = 0;j < i;j++){
if (userRed[j] == userRed[i]){
System.out.println("请勿购买重复号码!!");
i--;
break;
}
}
}
while (true){
System.out.println("请输入购买蓝球号码:");
userBlue = sc.nextInt();
if (userBlue >= 1&&userBlue<=16){
break;
}
System.out.println("蓝球号码范围为[1,16]!!");
}
System.out.println("红球开奖号码为:");
for (int i : comRed) {
Thread.sleep(1000);
System.out.print(i + "t");
}
System.out.println();
System.out.println("蓝球开奖号码为:");
System.out.println(comBlue);
int redCount = 0,blueCount = 0;
if (comBlue == userBlue){
blueCount = 1;
}
for (int k : comRed) {
for (int i : userRed) {
if (k == i) {
redCount++;
}
}
}
if (redCount == 6&&blueCount == 1){
System.out.println("恭喜中了一等奖!!!");
}else if(redCount == 6){
System.out.println("恭喜中了二等奖!!!");
}else if (redCount == 5&&blueCount == 1){
System.out.println("恭喜中了三等奖!!!");
}else if (redCount == 5||(redCount == 4&&blueCount == 1)){
System.out.println("恭喜中了四等奖!!!");
}else if (redCount == 4||(redCount == 3&&blueCount == 1)){
System.out.println("恭喜中了五等奖!!!");
}else if ((redCount == 2&&blueCount == 1)||(redCount == 1&&blueCount == 1)||(redCount == 0&&blueCount == 1)){
System.out.println("恭喜中了六等奖!!!");
}else {
System.out.println("很遗憾!!!");
}
暑期编程PK赛
得CSDN机械键盘等精美礼品!


