【从零开始学习JAVA | 第二篇】JAVA综合练习 (1)

news2024/11/16 13:55:54

目录

前言:

1.买飞机票

2.找质数:

3.开发验证码:

4.数组元素的复制:

5.评委打分:

6.数字加密:


前言:

本篇将起到总结的作用,利用具体案例来带我们复习JAVA的基础内容:数组,判断条件,数组,二维数组。如果是初学者可以收藏本片博文自己尝试完成这些案例。

1.买飞机票

机票价格按照淡季旺季,头等舱和经济舱收费,输入机票原价,月份和头等舱或经济舱。

按照以下规则进行计算机票实际价格:旺季(5-10月) 头等舱九折,经济舱8.5折,淡季(11月带到第二年四月)头等舱七折,经济舱6.5折

简单的if判断。

package com.itheima.demo1;
import java.util.Scanner;

public class test02 {
    public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         System.out.println("请输入机票原价:");
         int tacketprict= sc.nextInt();
        System.out.println("请输入购买的位置(1/0)");
        int  set=sc.nextInt();
        System.out.println("请输入当前月份");
        int mounth = sc.nextInt();
        int finaltacket=0;

            if(mounth>=5&&mounth<=10)
            {
                if(set==0)
                {
                    finaltacket= (int) (0.9*tacketprict);
                }
                else
                {
                    finaltacket=(int)(0.85*tacketprict);
                }
            }
            else
            {
                if(set==0)
                {
                    finaltacket= (int) (0.7*tacketprict);
                }
                else
                {
                    finaltacket=(int)(0.65*tacketprict);
                }
            }
        System.out.println("最终机票的价格为:"+finaltacket);
        }


    }

我们可以看到这段代码在判断的时候还是过于重复,于是我们提供一个新的思路:

把重复部分抽象出来,成为一个方法:

package com.itheima.demo1;
import java.util.Scanner;

public class test02 {
    public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         System.out.println("请输入机票原价:");
         int tacketprict= sc.nextInt();
        System.out.println("请输入购买的位置(1/0)");
        int  set=sc.nextInt();
        System.out.println("请输入当前月份");
        int mounth = sc.nextInt();
        

        System.out.println("最终机票的价格为:"+ tickprice(mounth,set,tacketprict));
        }
        
    public static int tickprice(int mounth,int set,int tacketprict){
        int finaltacket=0;
          if(mounth>=5&&mounth<=10)
            {
                if(set==0)
                {
                    finaltacket= (int) (0.9*tacketprict);
                }
                else
                {
                    finaltacket=(int)(0.85*tacketprict);
                }
            }
            else
            {
                if(set==0)
                {
                    finaltacket= (int) (0.7*tacketprict);
                }
                else
                {
                    finaltacket=(int)(0.65*tacketprict);
                }
            }

            return finaltacket;
        }



    }

 重点:Ctrl+Alt+M键可以在选中区域自动抽取方法。

2.找质数:

输入一个数字,找出从1到这个数字之间的所有质数

 质数是指一个大于1的整数,除了1和它本身以外,没有其他的因数能够整除它。换句话说,质数是只能被1和自身整除的正整数。

package com.itheima.demo1;
import java.util.Scanner;

public class test03 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int i=sc.nextInt();

        for(int j=1;j<=i;j++)
        {  boolean judge=true;
            for(int m=2;m<j/2;m++)
            {
               if(j%m==0)
               {
                   judge=false;
               }
            }
            if(judge==true)
            {
                System.out.print(" "+j);
            }

        }
        
    }
}

3.开发验证码:

定义方法随机产生一个五位的验证码

验证码格式:

  • 长度为5
  • 前四位是大写字母或者是小写字母
  • 最后一位是数字

Java中的随机函数需要一个种子来生成随机数序列。如果没有指定种子,则使用系统时间作为默认种子。可以通过 java.util.Random 类来实现随机数生成。

package com.itheima.demo1;

import java.util.Random;

public class test04 {
    public static void main(String[] args) {
        //在这里我们选取前四位验证码的方法选择创建一个52大小的数组,把a-Z存储进去之后,随机生成0到51数字当作索引下标
        extracted();
    }

    private static void extracted() {
        char[]chs =new char [52];
        for(int i=0;i<chs.length;i++)
        {   if(i<=25)
            {
                chs[i]= (char) (97+i);
            }
            else
            {
                chs[i]=(char)(65+i-26);
            }
        }
        String s="";
        for(int i=0;i<4;i++)
        {
            Random r=new Random();
            //利用随机索引获取元素
            int index= r.nextInt(chs.length);

            s=s+chs[index];
        }


        Random r=new Random();
        //利用随机索引获取元素
        int index= r.nextInt(9);

        s=s+index;

        System.out.println(s);
    }

}

4.数组元素的复制:

把数组中的元素赋值到另一个数组中

package com.itheima.demo1;

public class test05 {
    public static void main(String[] args) {
        int [] arr={1,2,3,4,5};
        int [] trarr=new int[arr.length];

        for(int i=0;i<5;i++)
        {
            trarr[i]=arr[i];
        }
        for(int i=0;i<5;i++)
        {
            System.out.print(trarr[i]);
        }
    }


}

5.评委打分:

在歌唱比赛中,有六位评委给选手打分,分数范围是[0-100]之间的整数,选手最后的分值为六个评委的平均分。

package com.itheima.demo1;
import java.util.Scanner;

public class test05 {
    public static void main(String[] args) {
        int nums[]=new int [6];
        Scanner sc= new Scanner(System.in);
        for(int i=0;i<6;i++)
        {
            System.out.println("请输入"+(i+1)+"个裁判的分数");

            nums[i]=sc.nextInt();
        }
        int finalscore;
        int sum=0;
        for(int i=0;i<6;i++)
        {
            sum=sum+nums[i];
        }
        finalscore=sum/6;
        System.out.println("平均分数为:"+finalscore);

    }


}

6.数字加密:

某系统的数字密码(大于0),比如1983,采用加密方式进行传输。

规则如下:

  • 先得到每位数字,然后每位数字都加上5,最后再把所有数字反转,得到一串新数字。
package com.itheima.demo1;

public class test06 {
    public static void main(String[] args) {
        int [] arr={1,9,8,3};
        //加密
        for(int i=0;i<4;i++)
        {
            arr[i]=(arr[i]+5)%10;
        }
        int [] newarr=new int [4];
        int j=0;
        for(int i=3;i>=0;i--)
        {
            newarr[j]=arr[i];
            j++;
        }

        System.out.println("加密后的结果为:");
        for(int i=0;i<4;i++) {
            System.out.println(newarr[i]);
        }
    }
}

今天的内容到这里就结束了,感谢大家的阅读。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CountDownLatch源码

介绍 CountDownLatch是依赖AQS完成的线程阻塞和唤醒&#xff0c;利用AQS的共享锁完成锁的多线程获取和释放。 CountDownLatch 使用了共享锁模式。CountDownLatch 使用一个内部类 Sync来实现CountDownLatch的同步控制&#xff0c;而Sync是AQS的一个实现类&#xff0c;它使用AQ…

安装Node,环境配置详细教程及使用

安装Node&#xff0c;环境配置详细教程及使用 一.下载 https://nodejs.org/en/download 一般现在windows电脑都选64位&#xff0c;如果是其他系统或者需要更低的版本可以按照自己的需求进行下载安装&#xff0c;过程都大差不多 二.安装 node.js的安装过程一般都不需要勾选什…

2023/6/21总结

JS 解绑事件 对象.on事件 对象.on事件null 如果是 addEventListener方式必须使用 对象.removeEventListener () 匿名函数无法解绑 mouseover和mouseout会有冒泡效果mouseenter和mouseleave没有冒泡效果 事件委托&#xff1a; 事件委托是利用事件流的特征解决一…

第九章 ShuffleNetv1网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

【从零开始学习JAVA | 第五篇】This关键字详解

目录 前言&#xff1a; This关键字&#xff1a; 作用&#xff1a; 本质&#xff1a; 总结&#xff1a; 前言&#xff1a; 相信大家在进入JAVA面向对象编程篇章以后&#xff0c;多多少少都见过This关键字&#xff0c;而他的指向很多人总是傻傻搞不清楚&#xff0c;今天我们…

chatgpt赋能python:Python编程语言的词汇量有多少?

Python编程语言的词汇量有多少&#xff1f; Python编程语言是一种广泛使用的高级编程语言&#xff0c;被广泛用于数据科学、机器学习、人工智能、Web开发、游戏开发和其他许多领域。由于Python的简单易学以及丰富的库&#xff0c;越来越多的人开始使用Python编程语言进行编程。…

【MongoDB】四、MongoDB副本集的部署

【MongoDB】四、MongoDB副本集的部署 实验目的实验内容实验步骤实验小结 实验目的 能够通过部署副本集理解副本集机制&#xff0c;从而解决大数据项目中数据丢失的问题 实验内容 环境准备&#xff1a;根据表中的信息完成3台MongoDB服务器的部署&#xff08;XXX是姓名拼音首字母…

C语言指针初阶+进阶(看这一篇就够了)

目录 本章重点 1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 8. 字符指针 9.数组指针 10. 指针数组 11数组传参和指针传参 12. 函数指针 13. 函数指针数组 14. 指向函数指针数组的指针 15. 回调函数 16 指针和数组面试题的解…

【从零开始学习JAVA | 第三篇】类与对象 和 封装

目录 前言&#xff1a; 类与对象&#xff1a; 封装&#xff1a; 总结&#xff1a; 前言&#xff1a; 从本篇开始&#xff0c;我们就要以面向对象编程思想来进行学习了&#xff0c;今天我们学习的内容是类与对象&#xff0c;这是JAVA中的重要知识&#xff0c;让我们一起来进…

docker 项目部署 后端/前端

1.前端部署 2.后端部署 问题一&#xff1a;build出问题 ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 668a7264-5d0b-45a6-b547-fa8fff014bda::g00ukurq2ipxuvrrz8rnpyskp: "/swagger2-demo-0.0.1-SNAPSHOT.jar": …

next.js博客搭建_react-markdown渲染内容(第三步)

文章目录 ⭐前言⭐引入react-markdown&#x1f496; 使用markdown渲染&#x1f496; 文章内容布局&#x1f496; react-syntax-highlighter代码高亮 ⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本期给大家分享next项目中使用react-markdown渲染内容。 该系列的往期…

考研C语言第八章

结构体定义&#xff0c;初始化&#xff0c;结构体数组 结构体对齐 这个东西看着像数据库里面属性的定义&#xff0c;也像java里面的类的定义 #include <stdio.h> #include <string.h> #include <stdlib.h>struct student{int num;char name[20];char sex;i…

chatgpt赋能python:Python桌面编程:探索图形用户界面

Python桌面编程&#xff1a;探索图形用户界面 Python是一种广受欢迎的高级编程语言&#xff0c;被广泛应用于数据科学、人工智能、Web开发和自动化。但是&#xff0c;随着越来越多的应用程序向图形用户界面&#xff08;GUI&#xff09;转移&#xff0c;Python的桌面编程能力也…

datagrip 连接 phoenix

jar替换完后尽量重启datagrip. 然后重新连接即可. 不重启貌似报错... 效果:

chatgpt赋能python:Python更新界面:让你的应用更美观、更易用

Python更新界面&#xff1a;让你的应用更美观、更易用 Python是一门强大的编程语言&#xff0c;广泛应用于软件开发、数据分析、机器学习等领域。其中&#xff0c;Python的GUI开发能力也非常出色。Python支持多种GUI库&#xff0c;如Tkinter、PyQt、wxPython等&#xff0c;可以…

【C++篇】C++新增的一些基础特性

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

Python--字典

Python--字典 <font colorblue>一、创建字典<font colorblue>二、访问字典元素<font colorblue>三、字典的增、删、查、改<font colorblue>1、添加元素<font colorblue>2、删除元素<font colorblue>3、查找元素<font colorblue>4、修…

Git——分布式版本控制系统

简介 Git是一个开源的分布式版本控制系统&#xff0c;可以高效的处理从小到很大的项目版本管理。 分类 集中式 SVN&#xff0c;CVS 使用单一的服务器用来管理和存储所有文件的修订版本&#xff1b;协同开发的成员拉取或提交都需连接到这台服务器&#xff1b;如果服务器宕机…

电控开关详细介绍 MOSFET

目录 NMOS MOSFET的开关模型 现实生活中MOSFET的截面图 输出特性曲线 总结 MOSFET的SCS模型 MOSFET的SR模型 进一步分析 例子 PMOS CMOS(Complementary Metal-Oxide-Semiconductor) NMOS 金属氧化物半导体场效应晶体管 这是一个什么样的结构呢&#xff1f; 对于…

2023 年6月开发者调查统计结果——最流行的技术(2)

2023 年6月开发者调查统计结果——最流行的技术&#xff08;2&#xff09; 本文目录&#xff1a; 二十三、编程、脚本和标记语言 二十四、数据库 二十五、云平台 二十六、网络框架和技术 二十七、其他框架和库 二十八、其他工具 二十九、集成开发环境 三十、异步工具 …