java黑马微项目

1 飞机票

代码实现:

import java.util.Scanner;
public class F1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入票价:  ");
        double jia = input.nextDouble();
        System.out.print("请输入月份:  ");
        int yue = input.nextInt();
        System.out.print("请输入你所坐飞机舱(经济舱或头等舱)  ");
        String can = input.next();
        methodjia(jia,yue,can);
    }
    private static void methodjia(double jia, int yue, String can) {
        if (yue>=5 && yue<=10){
            if (can.equals("经济舱")){
                jia=jia*0.85;
            }else if(can.equals("头等舱")) {
                jia = jia * 0.9;
            }else
                System.out.println("输入错误");
                return;
        } else if((yue>10 && yue<=12) || (yue<5 && yue>0)){
            if (can.equals("头等舱")){
                jia=jia*0.7;
            }else if(can.equals("经济舱")){
                jia=jia*0.65;}
            else
                System.out.println("输入错误");
                return;
        } else if(yue<0||yue>12){
        System.out.println("错误");
        return;}
        System.out.println(jia);
    }
}

2 生成一个五位数验证码

代码实现:

import java.util.Random;

public class Yzm {
    public static void main(String[] args) {

        char []arr = new char[52];
        Random rand = new Random();
        for (int i = 0; i < 26; i++) {
            arr[i] = (char) (65+i);
        }
        for (int i = 0; i <26; i++) {
            arr[i+26] = (char) (97+i);
        }
        String s ="";
        for (int i = 0; i < 4; i++) {
            char k = arr[rand.nextInt(52)];
            s=s+k;
        }

        int i = rand.nextInt(10);
        s=s+i;
        System.out.println(s);

    }
}

3 数字加密

代码实现:

import java.util.Scanner;

public class Jm {
    public static void main(String[] args) {
        int num = new Scanner(System.in).nextInt();//输入一个数组

        jiami(intToArray3(num));//方法调用

    }
    private static void jiami(int[] arr) {//加密方法每个位数+5,每个位数对10取模,再倒序

        for (int i = 0; i < arr.length; i++) {
            arr[i]+=5;
        }
        for (int i = 0; i < arr.length; i++) {
            arr[i]%=10;
        }
        for (int i = 0,j = arr.length-1; i < j; i++,j--) {
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
        int num = 0;
        for (int i = 0; i < arr.length; i++) {
            num= num*10+arr[i];
        }
        System.out.println(num);
    }
    private static int[] intToArray3(int num){
        int len = String.valueOf(num).length();//得到这个数的长度以便创建数组
        int[] resultArray = new int[len];//创建数组
        while (num != 0){//给数组一一赋值
            resultArray[len-1] = num % 10;
            num = num / 10;
            len--;
        }
        return resultArray;//返回位数组成的数组
    }
}

4 数字解密

import java.util.*;

public class Jiemi {
    public static void main(String[] args) {
        int num = new Scanner(System.in).nextInt();
        jie(int01(num));
    }
    private static void jie(int[] arr){
        for (int i = 0,j=arr.length-1; i < j; i++,j--) {
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]+10<15){
                arr[i] = arr[i]+10;
            }

        }
//        4  3  2  1  0  9 8 7 6 5
//        14 13 12 11 10 9 8 7 6 5
//        9  8   7  6 5  4 3 2 1 0
        for (int i = 0; i < arr.length; i++) {
            arr[i]-=5;
        }
        int shuchu = 0;
        for (int i = 0; i < arr.length; i++) {
            shuchu= shuchu*10+arr[i];
        }

        System.out.println(shuchu);


    }
    private static int[] int01(int num){
        int len = String.valueOf(num).length();
        int[] arr = new int[len];
        while  (num!=0){
            arr[len-1] = num%10;
            num/=10;
            len--;
        }
        return arr;
    }
}

5 抢红包

User类创建

public class User {
    private String name;
    private int money;

    public User(){

    }

    public User(String name,int money){
        this.name=name;
        this.money=money;
    }

    public void show(){
        System.out.println("Name:"+name+" Money:"+money);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }
}

​

Manage类

import java.util.ArrayList;

public class Manager extends User{

    public Manager(String name, int money) {
        super(name, money);
    }

    public Manager() {
        super();
    }
//需要一个集合用来存储发红包的个数以及各个金额
    public ArrayList<Integer> List(int totalmoney,int count){//发的钱
        ArrayList<Integer> list = new ArrayList<>();

        int leftmoney = super.getMoney();//群主总共的钱

        if(leftmoney < totalmoney) return list;//群主没那么多钱

        int averagemoney = totalmoney/count;//平均每个人
        int modemoney = totalmoney%count;//除不尽的余数加在list最后一个

        for(int i = 0 ; i < count-1 ; i++){
            list.add(averagemoney);
        }

        super.setMoney(leftmoney - totalmoney);//群主剩的钱

        list.add(modemoney+averagemoney);
        return list;//返回红包集合

    }
}

Member类

import java.util.ArrayList;
import java.util.Random;

public class Member extends User{
    public Member() {
        super();
    }

    public Member(String name, int money) {
        super(name, money);
    }

    public void receive(ArrayList<Integer> list){

        int random = new Random().nextInt(list.size());//随即索引

        int num = list.remove(random);//将这个数去除,并且取出

        int money = super.getMoney()+num;//把钱加上

        super.setMoney(money);//更新前的金额

    }
}

调用

import java.util.ArrayList;
import java.util.Scanner;

public class Using {
    public static void main(String[] args) {
        Member A= new Member("贤哥",0);
        Member B = new Member("超哥",0);
        Member C = new Member("小哥",0);
        Manager qun = new Manager("群主",10000);

        System.out.println("原来的钱");
        qun.show();
        A.show();
        B.show();
        C.show();
        System.out.println("================");

        System.out.println("你想发多少");
        int F = new Scanner(System.in).nextInt();

        ArrayList<Integer> list = qun.List(F,3);


        A.receive(list);
        B.receive(list);
        C.receive(list);

        qun.show();
        A.show();
        B.show();
        C.show();
    }
}

运行结果:

5 双色球系统

代码实现:

package itheima;

import java.util.Scanner;
import java.util.Random;

public class seven {
    public static void main(String[] args) {

        int [] arr = creatarr();
        int [] arr1 = maicaipiao();
        jiage(find(arr,arr1),zuihouyige(arr,arr1));

    }
    private static void jiage(int num,int lannum){
        int hongnum = num-lannum;
        if (hongnum>=0 && lannum==1 &&hongnum<3){
            System.out.println("恭喜中奖5元");

        }else if ((hongnum==4&&lannum==0)||(hongnum==3 && lannum==1)){
            System.out.println("恭喜中奖10元");

        }else if ((hongnum==4&&lannum==1)||(hongnum==5 && lannum==0)){
            System.out.println("恭喜中奖200元");
        } else if(hongnum==5 && lannum==1){
            System.out.println("恭喜中奖3000元");
        }else if(hongnum==6 && lannum==0){
            System.out.println("恭喜中奖500 0000元");
        } else if (hongnum==6 && lannum==1) {
            System.out.println("恭喜中奖1000 0000元");
        }else
            System.out.println("一分钱没中");
    }

    private static int zuihouyige(int [] arr1,int [] arr2){
        int lannum=0;
        if (arr1[6]==arr2[6]){
            lannum=1;
        }
        return lannum;
    }
    private static int[] maicaipiao(){
        Scanner P = new Scanner(System.in);
        //int[] arr = new int[]{P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt(),P.nextInt()};
        int[] arr = new int[7];
        for (int i = 0; i < 6;) {
            System.out.println("输入第"+(i+1)+"个数:");
            int num = P.nextInt();
            if (num >0 && num<34) {
                if (isPrime(arr,num)){
                    arr[i] = num;
                    i++;
                }else
                    System.out.println("已经存在");
            }else
                System.out.println("输入范围错误");
        }
        System.out.println("输入第7个数:");
        while(true){
            int num7= P.nextInt();
            if (num7>0 && num7<17) {
                    arr[6] = num7;
                    for (int i : arr) {
                        System.out.print(i+" ");
                    }
                    System.out.println(" ");
                    return arr;
            }else
                System.out.println("范围错误");
        }
    }
    private static int[] creatarr() {
        int[] arr = new int[7];//七色球
        Random rand = new Random();

        for (int i = 0; i < arr.length-1;) {
            int suinum = rand.nextInt(33)+1;//前六个数1-33

            if (isPrime(arr, suinum)) {
                arr[i] = suinum;
                i++;
            }
        }
        arr[arr.length-1] = rand.nextInt(16)+1;//第七个数1-16
        return arr;
    }
    private static boolean isPrime(int []arr,int n) {//是不是已经出现没有返回true
        for (int i : arr) {
            if (n==i){
                return false;
            }
        }return true;
    }
    private static int find(int[] arr1, int[] arr2) {//多少个相同的
        int i = 0, j = 0;
        int count = 0;

        while (i < arr1.length && j < arr2.length) {
            if (arr1[i] == arr2[j]) {
                count++;
                i++;  // 移动 arr1 的指针
                j++;  // 移动 arr2 的指针
            } else if (arr1[i] < arr2[j]) {
                i++;
            } else {
                j++;
            }
        }
        return count;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/873733.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据完整性常见缺陷以及对尘埃粒子计数器选择关注点!

数据完整性缺陷的全面回顾性评估 在评估工厂数据完整性缺陷时&#xff0c;首先需要系统地回顾和识别各个环节中可能存在的数据问题。以下是一些常见的与数据完整性相关的缺陷及其描述&#xff1a; 数据遗漏&#xff1a; 记录不全&#xff1a;生产过程中关键步骤或参数的记录…

chatglm4部署以及集成langchain

1.魔塔社区下载glm4 https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat 2.jupyter下载&#xff0c;自己修改下载模型位置 3.环境安装&#xff1a; 本机已经安装了conda,使用conda虚拟环境隔离&#xff0c;就不重复演示了 新项目新激活一个环境&#xff1a;conda create -…

vue3 ts语法在index.ts中vue有红色波浪线

vue.js - Vue 3 with Typescript Could Not Find A Declaration File - Stack Overflow 只要在 vue文件中 写上就好 <script setup lang"ts">

IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)

需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 对于需要临时放公网访问的应用&#xff0c;直接运行127.0.0.1的开发环境&#xff0c;然后通过反向代理访问127.0.0.1就可以了&#xff0c;省去麻烦的iis设置。 IIS 实现反向代…

Java | Leetcode Java题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; class Solution {static final int MASK1 1 << 7;static final int MASK2 (1 << 7) (1 << 6);public boolean validUtf8(int[] data) {int m data.length;int index 0;while (index < m) {int num data[index];…

科研绘图系列:R语言差异基因四分图(Quad plot)

文章目录 介绍加载R包导入数据数据预处理画图参考介绍 四分图(Quad plot)是一种数据可视化技术,通常用于展示四个变量之间的关系。它由四个子图组成,每个子图都显示两个变量之间的关系。四分图的布局通常是2x2的网格,每个格子代表一个变量对的散点图。 在四分图中,通常…

安卓framework美化手势导航侧滑返回UI

文章目录 手势导航的侧滑返回效果图原生效果如下:要实现的功能,: 实现代码1. 初始化代码2. 修改绘制的代码,进行箭头与退出UI的显示3. 拖动的时候手指上下移动时,箭头ui跟着移动 以下是一些其他可以美化安卓右滑手势拖动 UI 的方法&#xff1a;视觉效果方面形状和布局方面 安卓…

C++解决:求排列数

描述 输入两个整数m,n&#xff0c;求m个数字中选n个数的排列数。&#xff08;1<n<m<50&#xff09; 输入描述 两个正整数m和n。 输出描述 一个正整数表示排列数。 用例输入 1 6 5 用例输出 1 720 AC code #include<bits/stdc.h> using namespace s…

孩子用的台灯哪个牌子好?挑选护眼台灯先了解护眼台灯十大排名

孩子们的日常生活中有高达80%的时间是在阅读、做作业或面对电脑屏幕中度过的&#xff0c;因此对良好照明的需求显得尤为严格和精确。一些家长可能认为&#xff0c;只要孩子使用的是纸质材料&#xff0c;不像电子产品那样对眼睛有害&#xff0c;使用普通的台灯照明就足够了&…

Qt_概述

目录 1、图形用户界面 2、客户端开发 3、什么是界面 4、Qt的发展史 5、Qt支持的平台 6、Qt的版本 7、Qt的优点 8、Qt的应用场景 小结 前言&#xff1a; Qt是一个应用程序开发框架&#xff0c;他具有跨平台性质&#xff0c;主要使用C语言进行编程&#xff0c;Qt的开发…

css之雪碧图(精灵图)

听到雪碧图是不是跟我一样&#xff0c;啥&#xff1f;雪碧图&#xff1f;不知所以。 如果一张大图由许多小图构成&#xff0c;那么每张小图都需要进行网络请求&#xff0c;这样一来就会有很多请求&#xff0c;为了减少网络请求&#xff0c;雪碧图就出现了。 雪碧图&#xff0…

MapBox Android版开发 4 国际化功能v11

MapBox Android版开发 4 国际化功能v11 前言遇到的问题国际化功能原文给出的方案(V10版)migrate-to-v11适用于V11版的代码 示例MapStyle类运行效果图 前言 在前文MapBox地图样式v11中&#xff0c;使用Style的localizeLabels方法本地化地图语言。但Mapbox Standard样式和Mapbox…

3DMax基础- 样条线和点,线,面,边界操作

目录 一、样条线 二、多边形编辑​​​​​​​ 三. 点操作 三、线操作 四、面操作 五. 边界 一、样条线 创建样条线&#xff1a; 在 “创建” 面板中选择 “图形”&#xff0c;然后可以看到各种样条线工具&#xff0c;如线、矩形、圆、椭圆等。以 “线” 工具为例&#…

EPIC超级“喜加N”!AOC U32G4ZMN助你畅玩缤纷九月

废土探险、绿茵征战、狙击猎杀&#xff0c;AOC U32G4ZMN带你玩转九月&#xff01; Epic游戏商城近日开启“喜加N”游戏盛宴&#xff0c;上周公布的免费游戏&#xff1a;《辐射经典合集》与《外卡橄榄球》&#xff0c;领取时间截止至9月5日&#xff0c;还没领取的玩家&#xff…

Kafka【九】如何实现数据的幂等性操作

为了解决Kafka传输数据时&#xff0c;所产生的数据重复和乱序问题&#xff0c;Kafka引入了幂等性操作&#xff0c;所谓的幂等性&#xff0c;就是Producer同样的一条数据&#xff0c;无论向Kafka发送多少次&#xff0c;kafka都只会存储一条。注意&#xff0c;这里的同样的一条数…

计算机网络:http协议

计算机网络&#xff1a;http协议 一、本文内容与前置知识点1. 本文内容2. 前置知识点 二、HTTP协议工作简介1. 特点2. 传输时间分析3. http报文结构 三、HTTP版本迭代1. HTTP1.0和HTTP1.1主要区别2. HTTP1.1和HTTP2主要区别3. HTTPS与HTTP的主要区别 四、参考文献 一、本文内容…

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型&#xff0c;提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练&#xff0c;提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的&#xff1f;使用了哪些 NLP 已有的技术和思想&#xff…

网络层协议-ARP协议

网络层协议-ARP协议 1&#xff09;概述 ARP&#xff1a;地址解析协议&#xff0c;作用&#xff1a;根据IP地址查询MAC地址 数据包发送前需要进行封包&#xff0c;在数据链路层需要封装源mac地址是自己的mac&#xff0c;目的mac地址是别人&#xff0c;但是不知道别人的mac地址…

基于VUE的校园二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于VUE的校园二手物品交易管理系统8拥有两种角色 管理员&#xff1a;闲置物品管理、订单管理、用户管理 用户&#xff1a;登录注册、购物车、发布闲置物品、评论、发货、收货地址管理等…

AI在医学领域:MIL回归用于前列腺癌复发预测

2024年&#xff0c;全球男性新癌症病例预计为1029080例&#xff0c;其中前列腺癌病例预计为29%。前列腺癌是男性中第二常见的癌症类型&#xff0c;仅次于肺癌。它主要影响老年男性&#xff0c;且发病率随年龄增长而增加。前列腺癌的主要治疗方法是前列腺切除术&#xff0c;但术…