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

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

相关文章:

  • 利用pprof对golang进行性能分析
  • 图片填充容器,如何描述
  • Flutter 边框按钮:OutlinedButton 完全手册与设计最佳实践
  • Java集成WebSocket实现消息推送,详细步骤以及出现的问题如何解决
  • LeetCode 解题思路 18(Hot 100)
  • ESP32移植Openharmony外设篇(10)inmp441麦克风
  • 【接口耗时】⭐️自定义拦截器实现接口耗时统计
  • 基于消息方式的系统间通信
  • (分块)洛谷 P2801 教主的魔法 题解
  • TimeGAN:开启时间序列生成新纪元,结合GAN与自回归模型的优势
  • 智能运维管理系统的主要优势
  • 基于asp.net实现的连锁餐厅收银系统[包运行成功+永久免费答疑辅导]
  • 4、linux c 进程
  • RK3568 android11 基于PN7160的NXP NFC移植
  • C++基础——从C语言快速入门
  • 前端权限系统
  • ctfshow web刷题记录
  • 2.机器学习-回归模型-非线性模型
  • 面试求助:接口测试用例设计主要考虑哪些方面?
  • Matlab自学笔记四十八:各类型缺失值的创建、判断、替换、移位和处理方法
  • 美媒:鲁比奥称特朗普不出席二十国集团领导人会议
  • 上海皮影戏《九色鹿》闪耀塞尔维亚,再获2项国际大奖
  • 海南征集民生领域涉嫌垄断违法行为线索,包括行业协会等领域
  • 住建部:截至去年底常住人口城镇化率达到67%
  • 甘肃白银煤矿透水事故仍有3人失联,现场约510立方米煤泥拥堵巷道
  • 牛市早报|年内首次存款利率下调启动,5月LPR今公布