JavaSE基础编程十题

news/2024/11/14 20:31:55/文章来源:https://www.cnblogs.com/cjybigdatablog/p/18330919

写在前面

昨天说了一下Java中的数据类型、运算符、选择语句、循环语句部分的基础知识,今天写的编程题就是来检验这部分的成果,来看看你能写出来几题。答案也是仅供参考,如果有更好的解法欢迎在下面留言!

题目展示

1.输入自己的名字,年龄和性别,分别用不同的变量接收,并将输入的信息做输出。

代码:

 public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("Please input your name here:");String name = scanner.next();System.out.println("Please input your age here:");int age = scanner.nextInt();System.out.println("Please input your gender here:");String gender = scanner.next();System.out.println("The computer recorder that :");System.out.println("Your name is: "+name);System.out.println("Your age is:"+age);System.out.println("Your gender is:"+gender);}

结果截图:

2.输入圆形半径,求圆形的周长和圆形的面积,并将结果输出。

代码:

public static void main(String[] args) {double PI = 3.14;Scanner scanner = new Scanner(System.in);System.out.println("请输入圆的半径:");double R = scanner.nextDouble();double C = R*PI*2;double S = PI*R*R;System.out.println("该圆的半径为:R="+R);System.out.println("该圆的周长为:C="+"2*"+PI+"*"+R+"="+C);System.out.println("该圆的面积为:S="+PI+"*"+R+"*"+R+"="+S);}

结果截图:

3.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。结果如图所示。

代码:

 public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一个4位正整数:");int num = scanner.nextInt();int qianwei = num/1000;int baiwei = (num/100)%10;int shiwei = ((num/10)%100)%10;int gewei = num%10;int newqianwei = (qianwei + 5) %10 ;int newbaiwei = (baiwei + 5) %10 ;int newshiwei = (shiwei + 5) %10 ;int newgewei = (gewei + 5) %10 ;System.out.println("加密后的数字为:"+newgewei+newshiwei+newbaiwei+newqianwei);}

结果截图:

4.利用”异或”运算的性质,对几个字符进行加密并输出密文,然后再解密。加密算法 是:密钥是字符’8’ ,明文的每个字符和密钥进行异或运算,得到密文。密钥和密文的每个字符再次进行异或运算,重新得到明文。结果如图所示。

代码:

public static void main(String[] args) {String yuanText = "十点进攻";char key = '8';// 加密过程System.out.println("加密前原文:" + yuanText);StringBuilder sb1 = new StringBuilder();for (int i = 0; i < yuanText.length(); i++) {char textChar = yuanText.charAt(i);// 异或运算加密char jiaMiChar = (char) (textChar ^ key);sb1.append(jiaMiChar);}String jiaMiText = sb1.toString();System.out.println("密文:" + jiaMiText);// 解密过程StringBuilder sb2 = new StringBuilder();for (int i = 0; i < jiaMiText.length(); i++) {char jiaMiChar = jiaMiText.charAt(i);// 异或运算解密char jiemMiChar = (char) (jiaMiChar ^ key);sb2.append(jiemMiChar);}String jieMiText = sb2.toString();System.out.println("解密后原文:" + jieMiText);}

结果截图:

5.输入一个数,判断是奇数还是偶数。

代码:

 public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个正整数(包含0):");int num = sc.nextInt();if(num % 2 == 0){System.out.println(num + "是一个偶数。");}else{System.out.println(num + "是一个奇数。");}}

结果截图:

6.根据成绩输出对应的等级,使用 if 多分支和 switch 语句分别实现。
a) A 级 [90,100]
b) B 级 [80,90)
c) C 级 [70,80)
d) D 级 [60,70)
e) E 级 [0,60)

代码:

if:
public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个成绩:");int grade = sc.nextInt();if(grade >= 90 && grade <= 100)System.out.println("A级");else if (grade >= 80 && grade < 90)System.out.println("B级");else if (grade >= 70 && grade < 80)System.out.println("C级");else if (grade >= 60 && grade < 70)System.out.println("D级");else if (grade >= 0 && grade < 60)System.out.println("E级");elseSystem.out.println("输入无效!");}
switch:
public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个成绩:");int grade = sc.nextInt();int shiwei = grade / 10;if (grade < 0 || grade > 100 ){System.out.println("输入无效!");return;}switch ( shiwei ){case 6:System.out.println("D级");break;case 7:System.out.println("C级");break;case 8:System.out.println("B级");break;case 9:System.out.println("A级");break;case 10:System.out.println("A级");break;default:System.out.println("E级");break;}}

结果截图:
if:

switch:

7.根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。

代码:

 public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入月份:");int month = sc.nextInt();if (month>=1 && month <=3 ){System.out.println("春天-春暖花开 春意盎然-植树 踏青");}else if (month>=4 && month <=6 ) {System.out.println("夏天-夏日炎炎 夏雨雨人-游泳 吃雪糕");}else if (month>=7 && month <=9 ) {System.out.println("您输入的月份对应的季节为:秋季");}else if (month>=10 && month <=12 ){System.out.println("您输入的月份对应的季节为:冬季");}else {System.out.println("输入无效,请输入1-12中的一个月份");}}

结果截图:

8.判断一个数是否是素数。
代码:

public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个正整数:");int num = sc.nextInt();if(num == 1){System.out.println(num+"不是一个素数。");return;}for(int i = 2 ; i < num ; i++){if (num % i == 0 ){System.out.println(num+"不是一个素数。");return;}}System.out.println(num+"是一个素数。");}

结果截图:

9.从键盘输入一个班 5 个学生的分数,求和并输出。(也可以用for循环来写)
代码:

 public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个班5个学生的分数(分数以空格分隔):");int grade1 = sc.nextInt();int grade2 = sc.nextInt();int grade3 = sc.nextInt();int grade4 = sc.nextInt();int grade5 = sc.nextInt();int sum = grade1 + grade2 + grade3 + grade4 + grade5;System.out.println("一个班5个学生的分数和为: " + sum);}

结果截图:

10.从键盘输入某个十进制正整数,转换成对应的二进制整数并输出。
代码:

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int decimalNumber;do {System.out.print("请输入一个十进制整数 (输入负数结束程序): ");decimalNumber = scanner.nextInt();if (decimalNumber >= 0) {// 十进制转换为二进制String binary = "";int temp = decimalNumber;if (temp == 0) {binary = "0";}else {while (temp > 0) {int remainder = temp % 2;binary = remainder + binary;temp /= 2;}}System.out.println(decimalNumber + " 的二进制表示为: " + binary);}} while (decimalNumber >= 0);System.out.println("程序结束。");scanner.close();}

结果截图:

今天的分享就到这里了,欢迎大家在下面评论出你的想法,如有错误还请批评指正。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试必备 - 14个接口与自动化测试练习网站

随着互联网和移动应用的快速发展,接口和自动化测试的重要性日益凸显。越来越多的企业开始重视API测试,因为它不仅能提升开发效率,还能确保系统的稳定性和安全性。这些练习网站为测试人员提供了宝贵的资源,帮助他们掌握必要的技能,应对日益复杂的测试需求。在软件测试的世界…

.NET 高性能缓冲队列实现 BufferQueue

目录前言适用场景功能说明使用示例BufferQueue 内部设计概述Topic 的隔离Partition 的设计对并发的支持Partition 的动态扩容Segment 的回收机制Benchmark写入性能测试消费性能测试 前言 BufferQueue 是一个用 .NET 编写的高性能的缓冲队列实现,支持多线程并发操作。 项目是从…

缓存优化(缓存击穿和缓存雪崩)

缓存优化(缓存击穿和缓存雪崩) 缓存击穿和缓存雪崩 缓存击穿缓存击穿是指用户查询的数据在缓存中不存在,但是后端数据库中却存在。 这种现象一般是由于缓存中的某个键过期导致的,比如一个热点数据键,它每时每刻都在接受大量的并发访问,如果某一刻这个键突然失效了,那么就…

【专题】2024家生活智能家居趋势报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37146 近二十载间,中国消费市场见证了从产品创新到渠道创新的双重飞跃,无论是耐用消费品还是快速消费品,均在线上线下平台绽放出前所未有的丰富选择,多数行业已转型为以消费者为核心导向的买方市场格局。阅读原文,获取专题报告合集全文,…

c语言字符数组

字符数组与字符串,字符数据输出用%s表示 上面两种方式的区别:

mysql授权

mysql连接的两种方式 mysql服务端 10.0.0.51:3306 mysql -uroot -p密码 -h该账户允许登录的网段 -P实例端口第一种 基于ip:port的 网络链接形式,入口一 ,链接参数 ,-hlocahost -P3306 端口,窗口提供服务的入口windows机器,去链接 mysql服务端本质上是tcp的建立n…

DelphiJNI实际调试

1:下载 DelphiJNI:下载地址https://github.com/aleroot/DelphiJNI,版本比较老,没有找到其他,就用这个吧,如朋友有较新的pas文件,请留言下 2:下载jdk,这里下载JDK,这里使用javase-jkd18,也不知道这个版本要不要收费,这里学习用暂时不关新这个。 3:编写调用class的代…

playbook+roles安装nginx实战

基本目录结构host文件夹 用于存放主机清单文件 hosts文件 hosts文件内容如下:(仅供参考) [proxy] node2 [web] 192.168.xx.xxplaybook-all-roles.yml文件 用于指定执行哪个role的文件(命名可以自定义) 文件内容如下:(仅供参考) 因为roles文件夹下只有nginx一个文件夹,所…

2024夏中山集训第1周

【NOIP模拟一】20240729 C 注意到答案是s除以区间gcd。 裴蜀定理推广 D像这样建图,跑全源最短路。 在这张图上有 \(1\to 2\to 3\to 4\to 5\) 和 \(7\to 8\to 9\to 3\ to 10\ to 11\) 两条路径。把路径上的点看作车上的点,每个点本身看作车站。 可以发现在车(一条路径)上的点…

关于多模块开发各级目录的用途

参考苍穹外卖 项目整体结构如下各层的用途序号 名称 说明1 sky-take-out maven父工程,统一管理依赖版本,聚合其他子模块2 sky-common 子模块,存放公共类,例如:工具类、常量类、异常类等3 sky-pojo 子模块,存放实体类、VO、DTO等4 sky-server 子模块,后端服务,存放配置文…

WPF实现一个错误信息栏

实现结果一,首先建立一个UserControl 前台代码如下:点击查看代码 <UserControl x:Class="实现一个错误信息栏.ErrorLog"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/x…