综合练习
public static void main(String[] args) {
/////////////////////////////////////////案例一:产生验证码/////////////////////////////////////////
/*
需求:
定义方法实现随机产生一个5位的验证码
验证码格式:
长度为5
前四位是大写字母或者小写字母
最后一位是数字
*/
//分析:可以将字母放到数组中,循环四次得到前四位,最后一位随机生成一个数
char[] arr = new char[52];
///////////////添加字母表////////////////
for (int i = 0; i < 26; i++) {
arr[i] = (char)(97 + i);
}
for (int i = 0; i < 26; i++) {
arr[26 + i] = (char)(65 + i);
}
for (int i = 0; i < 52; i++) {
System.out.println(arr[i]);
}
////////////////////////////////////////
String str = "";
Random rndnum = new Random();
int num;
for (int i = 0; i < 4; i++) {
num = rndnum.nextInt(arr.length);
str = str + arr[num];
}
num = rndnum.nextInt(10);
str += num;
System.out.println("您的验证码为:" + str);
////////////////////////////////////////////案例二:评委打分//////////////////////////////////////////
/*
要求:去掉最高分和最低分,对剩余分数求平均值
*/
int n = 6; ////一共六个评委
int[] score = new int[n];
int sum = 0;
for (int i = 0; i < n; i++) {
score[i] = rndnum.nextInt(100) + 1;
sum += score[i];
}
int maxNum = score[0],minNum = score[0];
for (int i = 1; i < n; i++) {
if(score[i] < minNum){
minNum = score[i];
}
if(score[i] > maxNum){
maxNum = score[i];
}
}
sum = sum - minNum - maxNum;
double avg = sum / (double)(n - 2);
System.out.println("平均分为:" + avg);
//////////////////////////////////////////案例三:双色球////////////////////////////////////////////
/*
规则:
随机生成六个红球+一个篮球
用户输入自己的号码
根据表格查询中奖情况
*/
Scanner scanner = new Scanner(System.in);
int[] redBall = new int[6];
int blueBall = 0;
int crrRed = 0,crrBlue = 0;
for (int i = 0; i < 6; i++) {
redBall[i] = rndnum.nextInt(10);
System.out.println("请输入第"+ (i + 1) + "个红球的数字:");
if(redBall[i] == scanner.nextInt()) {
crrRed++;
}
}
blueBall = rndnum.nextInt(10);
System.out.println("请输入篮球数字:");
if(blueBall == scanner.nextInt()){
crrBlue++;
}
System.out.println("红球中" + crrRed + "个");
System.out.println("蓝球中" + crrBlue + "个");
//////开始判断中奖金额
if(crrBlue == 1) {
switch (crrRed) {
case 0:
case 1:
case 2:
System.out.println("5元");
break;
case 3:
case 4:
System.out.println("10元");
break;
case 5:
System.out.println("3000元");
break;
case 6:
System.out.println("最高1000万");
break;
default:
break;
}
}else{
switch(crrRed) {
case 4:
System.out.println("10元");
break;
case 5:
System.out.println("200元");
break;
case 6:
System.out.println("最高500万");
break;
default:
System.out.println("再接再厉吧!");
}
}
}