目录
简单5位验证码+快捷键的使用
评委打分5个评委 去掉一个最高分和一个最低分 取平均分
抢红包出现数组越界java编辑
双色球系统--之蒟蒻学习
简单5位验证码+快捷键的使用
题目意思做个验证码
//生成一个5位数的验证码
//前四位是字母,大小字母都可以
//最后一位要是数字
for的快捷键
chs.fori
import java.util.Random;public class Main{public static void main(String[] args){//生成一个5位数的验证码//前四位是字母,大小字母都可以//最后一位要是数字char[]chs=new char[52];for (int i = 0; i < chs.length; i++) {if(i<=25){chs[i]=(char)('a'+i);} else if (i<=51) {chs[i]=(char)('A'+i-26);}}Random r=new Random();for (int i = 0; i < 4; i++) {int randomIndex=r.nextInt(chs.length);System.out.print(chs[randomIndex]+" ");}int number=r.nextInt(10);System.out.println(number);}
}
评委打分5个评委 去掉一个最高分和一个最低分 取平均分
一键替换max用min
按shift+F6
public static int getMin(int[]scores){int min =scores[0];for (int i = 0; i < scores.length; i++) {if(scores[i]> min){min =scores[i];}}return min;}
这里有和c/c++不一样的知识点
c/c++调用函数类似于java的方法,但是c/c++的函数调用需要声明,java是直接在class 类里面找
import java.util.Scanner;public class Main{public static void main(String[] args){//评委打分5个评委//去掉一个最高分和一个最低分//取平均分Scanner sc = new Scanner(System.in);int[]scores=new int[5];for (int i = 0; i < scores.length; ) {System.out.println("请输入评委打分");scores[i]=sc.nextInt();if(scores[i]>=0&&scores[i]<=100){i++;}else{System.out.println("评委打分超出限额");}}int sum=getSum(scores);int max=getMax(scores);int min=getMin(scores);int avg=(sum-max-min)/(scores.length-2);System.out.println("最大值为"+max);System.out.println("最小值为"+min);System.out.println("平均值为"+avg);}public static int getMax(int[]scores){int max=scores[0];for (int i = 0; i < scores.length; i++) {if(scores[i]>max){max=scores[i];}}return max;}public static int getMin(int[]scores){int min =scores[0];for (int i = 0; i < scores.length; i++) {if(scores[i]< min){min =scores[i];}}return min;}public static int getSum(int[]scores){int sum =0;for (int i = 0; i < scores.length; i++) {sum+=scores[i];}return sum;}
}
抢红包出现数组越界java
方法一
import java.util.Random;
import java.util.Scanner;public class Main{public static void main(String[] args){int []arr={2,588,888,999,1111};int []newArr=new int[arr.length];Random r=new Random();for (int i = 0; i < 5; ) {int randomzhi=r.nextInt(arr.length);int flag=compare(newArr,arr[randomzhi]);if(flag==0){newArr[i]=arr[randomzhi];i++;}}for (int i = 0; i < newArr.length; i++) {System.out.println(newArr[i]);}}public static int compare(int newArr[],int zhi){for (int i = 0; i < newArr.length; i++) {if(newArr[i]==zhi)return 1;}return 0;}
}
方法二
import java.util.Random;
import java.util.Scanner;public class Main{public static void main(String[] args){int []arr={2,588,888,999,1111};Random r=new Random();for (int i = 0; i < arr.length; i++) {int randomIndex=r.nextInt(arr.length);int tem=arr[i];arr[i]=arr[randomIndex];arr[randomIndex]=tem;}for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}
}
出现了一个小插曲(错误)
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 962579412 out of bounds for length 5 at Main.main(Main.java:11)
这个错误是数组越界的错误
import java.util.Random;
import java.util.Scanner;public class Main{public static void main(String[] args){int []arr={2,588,888,999,1111};Random r=new Random();for (int i = 0; i < arr.length; i++) {int randomIndex=r.nextInt();int tem=arr[i];arr[i]=arr[randomIndex];arr[randomIndex]=tem;}for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}
}
之前的少了一个arr.length数组越界了
双色球系统--之蒟蒻学习
双色球系统(6个红球+1个蓝球)
红球在1--33之间
蓝球在1-16之间
import java.util.Random;
import java.util.Scanner;public class Main{public static void main(String[] args){int[]createnumber=createArr();int redcount=0,bluecount=0;System.out.println("中奖的数字为");for (int i = 0; i < createnumber.length; i++) {System.out.print(createnumber[i]+" ");}System.out.println();int[]selectnumber=selectArr();for (int i = 0; i < createnumber.length-1 ;i++) {for (int j = 0; j < selectnumber.length-1; j++) {if(createnumber[i]==selectnumber[j]){redcount++;break;}}}if(createnumber[6]==selectnumber[6]){bluecount++;}if(redcount==6&&bluecount==1){System.out.println("1000万");}else if(redcount==6&&bluecount==0){System.out.println("500万");}else if(redcount==5&&bluecount==1){System.out.println("3000元");}else if(redcount==5&&bluecount==0||redcount==4&&bluecount==1){System.out.println("200元");}else if(redcount==4&&bluecount==0||redcount==3&&bluecount==1){System.out.println("10元");}else if(redcount==3&&bluecount==0){System.out.println("5元");}else{System.out.println("谢谢惠顾");}}public static int[] selectArr(){int[]select=new int[7];Scanner sc=new Scanner(System.in);//选择六个红球for (int i = 0; i < 6; ) {System.out.println("请输入你要购买的第"+(i+1)+"个的红球数字");int number=sc.nextInt();if(number<=33||number>=1){boolean flag=contain(select,number);if(!flag){select[i]=number;i++;}}}//选择一个蓝球while(true) {System.out.println("请输入你要购买的第1个的蓝球数字");select[6] = sc.nextInt();if(select[6]<=16||select[6]>=1){break;}}return select;}//生成中奖号码public static int[] createArr(){int[]redArr=new int[7];Random r=new Random();//生成中奖红球号码for (int i = 0; i < 6;) {int number=r.nextInt(33)+1;boolean flag=contain(redArr,number);if(!flag){redArr[i]=number;i++;}}int num=r.nextInt(16)+1;//生成中奖蓝球号码redArr[6]=num;return redArr;}public static boolean contain(int[]arr,int zhi){for (int i = 0; i < arr.length; i++) {if(arr[i]==zhi){return true;}}return false;}
}