首页 > 编程语言 >Java编程练习_241206

Java编程练习_241206

时间:2024-12-06 10:55:50浏览次数:8  
标签:输出 12 20 10 创建 编程 241206 Java 方法

1 动物王国

请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口AnimalInfo,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口AnimalInfo里的方法输出一条有语句“鸟儿飞翔”,重写父类的eat() 方法输出一条语句“鸟儿吃虫”。

创建Test类并添加main方法,在main方法中添加如下功能

(1)创建Animal类的对象并调用eat( )方法;

(2)使用父类引用Bird类的对象,并调用eat( )方法;

(3)使用接口引用Bird类的对象,并调用fly( )方法;

(4)使用Bird类引用Bird类的对象,调用eat( )方法和fly( )方法。

PS:父类=超类=基类、字段=成员变量=属性、构造器=构造方法

输出结果如下:

吃东西
鸟儿吃虫
鸟儿飞翔
鸟儿吃虫
鸟儿飞翔

2 学生与工人

编写一个Person抽象类,要求含有姓名(name)、年龄(age)两个私有属性以及吃饭(eat)和睡觉(sleep)两个抽象方法,并添加带参构造方法为name和age赋初值。

创建学生(Student)类并继承Person类,学生类多出了私有属性学号学习方法(输出我爱学习)。

创建工人(Worker)类并继承Person类,工人类多出了私有属性工号工作方法(输出我爱工作),

在主函数中创建学生和工人类的实例对象,使用构造方法赋值,并输出所有属性和方法。

输出结果如下: 

姓名:张三,年龄:20,学号:1024
食堂吃饭
我爱学习
在宿舍睡觉
姓名:李四,年龄:35,工号:1025
自己做饭
我爱工作
在家睡觉

3 超级跑车

请创建一个Car抽象类,要求有brand(品牌)属性,并且要求封装私有化,写出属性的settergetter方法。抽象类Car构造方法中也可以对brand属性赋值,定义抽象方法run()。创建一个跑车类SportsCar继承抽象类Car。实现Car抽象方法输出一条语句“超级跑车”,在本类中写出一个自己的方法price(),输出一条语句“售价100w”。
在测试类Test类中创建跑车对象car1,用构造器赋值品牌属性,输出属性,调用run()price()方法。创建跑车car2,用set方法赋值属性,输出属性,调用run()price()方法。

输出结果如下:

法拉利
超级跑车
售价100W
兰博基尼
超级跑车
售价100W

4 管状灯

(1)编写1个Light类,该类是对灯的描述,该类拥有:
1)2个成员变量
     watts(私有,整型);//用于存放灯的瓦数;
     indicator(私有,布尔类型);//用于存放灯的开或关的状态
    2) 2个构造器方法
     Light(int watts) //用于创建具有watts瓦的对象
     Light(int watts,boolean indicator) //用于创建具有watts瓦,开关状态为indicator的对象
3) 3个成员方法
     public void switchOn()   //开灯,即将灯的状态置为开
     public void switchOff()  //关灯
     public void printInfo()  //输出灯的瓦数信息和开关状态

(2)编写1个TubeLight类,该类是对管状灯的描述,它继承于Light类。还拥有:
1) 2个成员变量
     tubeLength(私有,整型)  //用于存放灯管的长度
     color(私有,String类型)  //用于存放灯光的颜色
    2) 构造器方法
     TubeLight(int watts, int tubeLength,String color)  //用于创建具有watts瓦,灯管长度为tugeLength,颜色为color的对象
    3)成员方法
     public void printInfo()  //打印输出灯的相关信息,包括瓦数、开关信息、长度以及颜色

(3)请写一个测试程序,要求:
1)创建一个管状灯的实例对象,
2)打印输出该灯的相关信息。

输出结果如下:

该灯瓦数为:32;状态为开;长度为50;白色灯光。

5 猜数字游戏

猜数字游戏,其游戏规则为:程序内自动生成一个 1 到 100 之间的数字作为猜测的结果,由用户猜测此数字。用户每猜测一次,由系统提示猜测结果:大了、小了或者猜对了。玩家最多猜5次,猜对结果,则提示You Win,没猜对则提示Game Over。用户可以提前退出游戏,即,游戏过程中,如果用户录入数字0,则游戏终止并提示放弃游戏。

要求:

  1. 创建Game类,在Game类中创建私有成员变量num。
  2. 在Game类中创建构造方法,并在构造方法中使用随机数类为num赋值。
  3. 在Game类中创建play方法,在方法中使用循环进行大,小,猜对的判断。输出并返回相关的提示信息。
  4. 创建Test类,在Test类中添加main入口方法,在方法中实例化Game类,并调用play方法进行游戏。

模拟输入输出结果如下:

50
小了
75
大了
62
小了
70
大了
65
猜对了
You Win

6 编写Java程序模拟简单的计算器

定义名为Number的类其中有两个整型私有成员变量n1和n2。

编写构造方法赋予n1和n2初始值,并为该类定义加(add)、减(sub)、乘(mul)、除(div)等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。

在main方法中创建Number类的对象调用各个方法并显示计算结果。

输出数据格式如下:

5+10=15
5-10=-5
5*10=50
5/10=0.5

7 时间加法

在程序中,经常要对时间进行操作,请定义实现一个时间类,来满足程序中的需要:

(1)定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second)。

(2)为了保证数据的安全性,这三个成员变量应声明为私有。

(3)为MyTime类定义构造方法,以方便创建对象时初始化成员变量。

(4)为MyTime类添加以下三个方法,分别对时、分、秒进行加减运算。
     addSecond(int second)
     addMinute(int minute)
     addHour(int hour)
    注意时、分、秒可以大于或小于0,在进行计算时还应该注意进位。
    如当前时间12:20:40,当调用addSecond( 30)时,则时间变为:12:21:10;

(5)重写toString()方法,用于将时间信息打印出来。输出格式为:时:分:秒(12:20:40)。

测试要求如下:

(1)初始化时间为 12:20:40

(2)增加30秒之后输出时间为:12:21:10

(3)增加70分钟后输出时间为:13:31:10

(4)增加25小时后输出时间为:14:31:10

输出结果如下:

12:21:10
13:31:10
14:31:10

8 时间减法

在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要:

(1)定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second)。

(2)为了保证数据的安全性,这三个成员变量应声明为私有。

(3)为MyTime类定义构造方法,以方便创建对象时初始化成员变量。

(4)为MyTime类添加以下三个方法,分别对时、分、秒进行加减运算。
     subSecond(int second)
     subMinute(int minute)
     subHour(int hour)
     注意时、分、秒可以大于或小于0,在进行计算时还应该注意进位。
     如当前时间12:25:40,当调用subSecond(50)时,则时间变为:12:19:50;

(5)重写toString()方法,用于将时间信息打印出来。输出格式为:时:分:秒(12:20:40)

测试要求如下:
(1)初始化时间为 12:25:40

(2)减少80秒之后输出时间为:12:24:20

(3)减少70分钟后输出时间为:11:14:20

(4)减少25小时后输出时间为:10:14:20

输出结果如下:

12:24:20
11:14:20
10:14:20

9 学生排序

请创建学生类(Student),用于存储学生信息。创建ArrayList集合,依次存储如下5位同学的信息,并使用ComparableComparator接口对5位同学的成绩做降序排序,如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序。最后遍历并输出ArrayList集合中的数据。

姓名(String)

年龄(int)

分数(double)

张三

20

90.0‍

李四

22

90.0

王五

20

99.0

孙六

22

100.0

赵七

20

100.0‍

输出结果如下:

Student [name=赵七, age=20, score=100.0]
Student [name=孙六, age=22, score=100.0]
Student [name=王五, age=20, score=99.0]
Student [name=张三, age=20, score=90.0]
Student [name=李四, age=22, score=90.0]

10 重复号码

已知数组存放一批QQ号码,QQ号码最长为11位,最短为5位String[] strs = {"12345","67891","12347809933","98765432102","67891","12347809933"}。 将该数组里面的所有qq号都存放在LinkedList中,将list中重复的元素删除,将list中所有元素分别用迭代器增强for循环打印出来。

11 随机数

产生10个1-100的随机数,并放到一个数组中,把数组中大于等于10的数字放到一个list集合中,并打印到控制台。

参考输出:

[44, 15, 97, 28, 68, 19, 12, 73]

12 保存省会

创建2个字符串数组,第一个数组内容为:[黑龙江省,浙江省,江西省,广东省,福建省]

第二个数组为:[哈尔滨,杭州,南昌,广州,福州]

将第一个数组元素作为key,第二个数组元素作为value存储到Map集合中。

删除Map集合中Key=黑龙江省的键值对。

迭代Map集合,参考的输出数据格式如下:

福建省=福州
浙江省=杭州
江西省=南昌
广东省=广州

标签:输出,12,20,10,创建,编程,241206,Java,方法
From: https://www.cnblogs.com/xkxf/p/18590164

相关文章

  • win32 API编程之GDI绘图
    一、GDI简介1)什么是设备上下文2)设备上下文类型3)常见的GDI对象4)windows坐标系5)GDI绘图步骤二、获取DC的3种方法1)获取DC的3种方法2)PAINTSTRUCT结构3)BeginPaint函数4)EndPaint函数5)GetDC函数6)GetWindowDC函数7)三种方式的区别8)代码实例#include<windows.h......
  • JAVA实现客户端通过服务端对话(NET)
    通过使用java.net实现客户端向服务端发送信息内容以及发送目标地址ID,服务端通过寻找对应ID转发给目标客户端。代码仅供参考,其中有很多地方仍需要优化,比如:ID无法注册、没有添加密码、代码优化不够等问题java版本:17服务端代码:importjava.io.IOException;importjava.io.Pri......
  • JAVA学习-练习试用Java实现“从用户输入获取一个整数n,并打印出从1到n的所有整数的阶乘
    问题:编写一个Java程序,从用户输入获取一个整数n,并打印出从1到n的所有整数的阶乘。解答思路:以下是一个Java程序,它接受用户输入的整数n,并打印出从1到n的所有整数的阶乘:importjava.util.Scanner;publicclassFactorialCalculator{publicstaticvoidmain(String[]......
  • 举例说明面向对象编程有什么缺点?
    面向对象编程(OOP)在前端开发中有很多优点,但也存在一些缺点,以下是一些例子:1.性能损耗:过度抽象:OOP鼓励抽象和封装,但过度的抽象会导致代码复杂化,增加代码量,并可能影响性能。例如,大量的类、继承、接口等会增加JavaScript引擎的解析和执行时间,尤其在移动设备或低端浏览器上,性......
  • Java-19 深入浅出 MyBatis - 用到的设计模式 源码剖析 代理设计模式
    点一下关注吧!!!非常感谢!!持续更新!!!大数据篇正在更新!https://blog.csdn.net/w776341482/category_12713819.html目前已经更新到了:MyBatis(正在更新)代理模式概念介绍代理模式(ProxyPattern):给某一个对象提供一个代理,并由代理对象控制对原对象的引用,代理模式的英文名字叫Prox......
  • c#和 .net 类似于 java 和spring吗?
    是的,C#和.NET确实与Java和Spring有一些类似之处,它们在各自的生态系统中提供类似的功能和架构支持。以下是它们的对应关系和差异点:C#和Java的比较语言层面C#是一种由微软开发的现代化编程语言,语法风格与Java非常相似(两者都受C/C++的影响)。Java是一种跨......
  • 医院招聘考试管理系统|Java|SSM|JSP| 前后端分离
     【重要1⃣️】前后端源码+万字文档+部署文档            【包含内容】【一】项目提供非常完整的源码注释【二】相关技术栈文档【三】源码讲解视频                     【其它服务】【一】可以提供远......
  • 医院远程诊断管理系统|Java|SSM|JSP| 前后端分离
    【重要1⃣️】前后端源码+万字文档+部署文档            【包含内容】【一】项目提供非常完整的源码注释【二】相关技术栈文档【三】源码讲解视频                     【其它服务】【一】可以提供远程......
  • javascript语言
    不要相信手掌的纹路,要相信手攥成拳的力量。javascript是一种脚本语言,和java完全不同的语言特点:大括号表示代码块区分大小写结尾的分号可加可不加,如果一行上写多个语句时,必须加分号用来区分多个语句单行注释//多行注释/**/注意:外部脚本不能包含<script>标签在js文件......
  • 关于java中的过滤器(Filter)
    在学习SpringBoot中了解到了过滤器和拦截器,浅谈一下对这两个的认识,若有不足,烦请斧正!首先,过滤器是javaWeb中提供的,而拦截器是spring提供的,这篇主要讲解Filter。用法:过滤器允许开发者在请求到达Servlet之前或响应返回客户端之前执行一些预处理或后处理操作(例如登录校验、敏感......