当前位置: 首页 > article >正文

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;
    }
}


http://www.kler.cn/a/587959.html

相关文章:

  • 关于离子滤波小记
  • 数据库管理-第302期 国产类RAC架构数据库网络连接方式(20250314)
  • RabbitMQ:业务幂等、死信交换机
  • C++基础——从C语言快速入门
  • matlab 自适应模糊PID在反应釜温度控制中的应用
  • 每日定投40刀BTC(9)20250312 - 20250315
  • Python 鼠标轨迹算法 - 防止游戏检测
  • Unity小框架之单例模式基类
  • 掌阅iReader全球首款 7 英寸 Carta 1300 墨水屏阅读器即将发布
  • Starship:快速且高度可定制的命令行框架!!
  • 线段树解析题型
  • android 新闻客户端和springboot后台开发(二)
  • linux——计算机内存详解通俗理解
  • CmBacktrace的cmb_cfg.h
  • java学习总结(五)MyBatis动态sql
  • 让 Deepseek 写一个计算器(网页)
  • SQL Server性能分析利器:SET STATISTICS TIME ON 详解与实战案例
  • Python数据结构 ——字符串
  • Go语言os标准库
  • 中考英语之09从句