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

学习面向对象前--Java基础练习题

前言

        写给所有一起努力学习Java的朋友们,敲代码本身其实是我们梳理逻辑的一个过程。我们在学习Java代码的过程中,除了需要学习Java的一些基本操作及使用,更重要的是我们需要培养好的逻辑思维。逻辑梳理好之后,我们编写代码实现需要的功能自然也就如鱼得水,因此本篇文章我整理了一些近期练习的题目以供小伙伴们参考,希望我们在学习的路上并肩同行,奔赴更好的未来!

一、随机验证码

需求

        定义方法实现随机产生一个5位的验证码验证码格式:长度为5前四位是大写字母或者小写字母最后一位是数字

逻辑

        因为前四位是大小写字母,后一位是数字,所以我们在运用random函数生成随机数时需要添加一定的限制条件,生成大小写字母我们用到了ASCII码,大写字母ASCII码为65~90,小写字母ASCII码为97~122,数字ASCII码为48~57,根据他们的ASCII我们限制范围后生成随机数转化为字符拼接输出即可。

代码实现

public class YanZhengMa {public static void main(String[] args) {char[] str=new char[5];//循环五次生成五个数for (int i=0;i<5;i++){char a = 0;//初始化字符if (i<4){//前四个为大小写字母,设置限制条件while(!(('A'<=a&&a<='Z')||('a'<=a&&a<='z'))){a=(char)(Math.random()*58+65);//生成[65~123),右边为开区间,只取到122为止str[i]=a;}}else{//最后一位为数字,限定random生成范围a=(char)(Math.random()*10+48);//生成[48~58),右边为开区间,只取到57为止str[i]=a;}}for (int i=0;i<5;i++){System.out.print(str[i]);//输出字符 }System.out.println();}
} 

二、评委打分

需求

        在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。 选手的最后得分为:去掉最高分、最低分后的4个
        评委的平均分,请完成上述过程并计算出选手的得分。

逻辑

        将每一位评委所打分数都存入数组中,然后使用Arrays.sort()方法排序去掉最高分和最低分相加,除以(总人数-2)后输出即可。

代码实现

public class PingWeiDaFen {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] arr=new int[6];float sum=0;for(int i=0;i<6;i++){boolean a=true;while(a){System.out.println("第"+(i+1)+"位评委打分:");arr[i]=sc.nextInt();if (arr[i]>=0&&arr[i]<=100){a=false;}else{System.out.println("输入的值不正确,请重新输入!");}}}Arrays.sort(arr);for (int i=1;i<arr.length-1;i++){sum+=arr[i];}System.out.println("该选手的得分为:"+(sum/(arr.length-2)));}
}

三、数字加密

需求

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

每位数加上5

再对10求余

最后将所有数字反转

得到一串新数

逻辑

        将每位数字加上5,对10取余后倒序输出。

代码实现

public class ShuZiJiaMi {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入要加密的密码:");int num=sc.nextInt();int sum=num;int count=0;while (num!=0){num/=10;count++;}System.out.println("加密后结果为:");int[] arr=new int[count];for (int i=0;i<arr.length;i++){arr[i]=sum%10;arr[i]+=5;arr[i]%=10;sum/=10;System.out.print(arr[i]);}System.out.println();}
}

http://www.lryc.cn/news/379646.html

相关文章:

  • 用Python实现抖音新作品监控助手,实时获取博主动态
  • 图像分隔和深度成像技术为什么受市场欢迎-数字孪生技术和物联网智能汽车技术的大爆发?分析一下图像技术的前生后世
  • Redis 内存策略
  • Java小实验————斗地主
  • 【Oracle】Linux 卸载重装 oracle 教程(如何清理干净残留)系统 CentOS7.6
  • web中间件漏洞-Jenkins漏洞-弱口令、反弹shell
  • Linux开发讲课9--- Linux的IPC机制-内存映射(Memory Mapping)
  • Java赋值运算符
  • Qt做群控系统
  • 【专业英语 复习】第10章 Information System
  • 09-axios在Vue中的导入与配置
  • odoo17 小变更4
  • Flink assignTimestampsAndWatermarks 深度解析:时间语义与水印生成
  • C++排序算法——合并有序数组
  • 安装pytorch环境
  • 内卷从古到今就一直存在,并不是近年的“新物”,破局在于你是否有意识地学习。
  • 跟《经济学人》学英文:2024年6月15日这期 The war for AI talent is heating up
  • 港湾周评|高盛眼中的618增长
  • SPSS知识
  • 【网络安全的神秘世界】关于Linux中一些好玩的字符游戏
  • 【LeetCode】Hot100:验证二叉搜索树
  • [Qt] Qt Creator 编译输出乱码,问题页中的报错、警告内容,编译输出乱码
  • sed
  • C++一文讲透thread中的detach和join的差别
  • 当Windows台式电脑或笔记本电脑随机关机时,请先从这8个方面检查
  • 【凤凰房产-注册安全分析报告-缺少轨迹的滑动条】
  • 【建议收藏】逻辑回归面试题,机器学习干货、重点。
  • C++使用教程
  • k8s volcano + deepspeed多机训练 + RDMA ROCE+ 用户权限安全方案【建议收藏】
  • 设计模式(七)创建者模式之建造者模式