java简单基础学习
目录
简单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;
}
}