JAVA中类与对象例题和一边过的导jar包方法

2023-10-24 14:30

本文主要是介绍JAVA中类与对象例题和一边过的导jar包方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JAVA中类与对象的实验例题

实验1 机动车:编写一个Java应用程序,该程序中有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下:

(1)Vehicle类有一个double类型的变量speed,用于刻画机动车的速度,一个int型变量power,用于刻画机动车的功率。类中定义了speedUp(ints)方法,体现机动车有加速功能;定义了speedDown()方法,体现机动车有减速功能;定义了setPower(int p)方法,用于设置机动车的功率;定getPower()方法,用于获取机动车的功率。
(2)在主类User的mainI()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和减速功能。
//定义Vehicle类
class Vehicle {double speed; // 机车速度int power;// 机车功率// 机动车有加速度功能public void speedUp(int a) {speed += a;System.out.println("机车加速了!");System.out.println("机车目前速度是" + speed + "km/h");}// 机动车有减速功能public void speedDown(int b) {speed -= b;System.out.println("机车减速了!");System.out.println("机车目前速度是" + speed + "km/h");}// 获取机动车功率public int getPower() {return power;}// 设置机动车功率public void setPower(int c) {power = c;}double getspeed() {return speed;}void setspeed(double s) {speed = s;}}public class User1 {public static void main(String[] args) {// TODO Auto-generated method stubVehicle V = new Vehicle();V.setPower(60);System.out.println("机车目前的功率是:" + V.getPower());V.setspeed(100);System.out.println("机车目前的速度是:" + V.getspeed() + "km/h");V.speedDown(10);V.speedUp(20);}}

实验2 家中的电视:编写一个Java应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即通过调用一个方法将某个电视的引用传递给自己的电视成员。具体要求如下。

(1)有三个源文件:TV.java、Familiy.java和MainClass.java,其中TV.java中的TV类负责创建“电视”对象,Family.java中的Family类负责创建“家庭”对象,MainClass.java是主类。
(2)在主类的main方法中首先使用TV类创建一个对象haierTV,然后使用Family类再创建一个对象 zhangSanFamily,并将先前TV类的实例haierTV的引用传递给zhangSanFamily对象的成员变量homeTV。
class TV {String name1 = "长虹";String name2 = "小米";void sonsay() {System.out.println("son说这个牌子太老了!");}void mumsay() {System.out.println("mum说都别争了,就买小米!");}}class Family {String buytv;TV sontv = new TV();TV mumtv = new TV();void say(String buy1, String n1) {System.out.println(n1 + "说买" + buy1 + "牌的电视吧.");if (buy1 == "长虹") {sontv.sonsay();}if (buy1 == "小米") {mumtv.mumsay();}}}public class MainClass {public static void main(String[] args) {TV tv = new TV();Family p = new Family();p.buytv = tv.name1;p.say(p.buytv, "dad");p.buytv = tv.name2;p.say(p.buytv, "son");}
}

实验3 共饮同井水:编写程序模拟两个村庄共用同一口井水。编写一个Village类,该类有一个静态的int型成员变量waterAmount,用于模拟井水的水量。在主类Land的main()方法中创建两个村庄,一个村庄改变了waterAmount的值,另一个村庄查看waterAmount的值。


```java
class Village {static int waterAmount = 100;static int dringwater;String name;int people;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPeople() {return people;}public void setPeople(int people) {this.people = people;}void dringking(int w) {dringwater = w;System.out.println("王庄的人喝了" + w + "升水.");}void seewater() {System.out.println("赵庄的人发现还剩下" + (waterAmount -= dringwater) + "升水.");}}public class Land {public static void main(String[] args) {// TODO Auto-generated method stubVillage v1 = new Village();Village v2 = new Village();v1.setName("赵庄");v2.setName("王庄");v1.setPeople(100);v2.setPeople(50);System.out.println(v1.getName() + "共有" + v1.getPeople() + "人," + "" + v2.getName() + "共有" + v2.getPeople() + "人.");System.out.println("现在井中共有" + Village.waterAmount + "升的水.");v2.dringking(50);v1.seewater();}}

重点!!导自己的jar包

实验4 求方程的根:按照实验要求使用package语句将方程的属性即计算根的方法封装在一个有包名的类中,包名是tom.jiafei,类的名字是SquareEquation。编写一个SunRise的主类,该主类使用import语句引入tom.jiafei包中的SquareEquation类。

SquareEquation类:
package tom.jiefei;
import java.lang.Math;   		//math头文件public class SquareEquation {double a,b,c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c) {this.a=a;this.b=b;this.c=c;if(a!=0) {boo=true;}else {boo=false;}}public void getRoots(){if(boo){System.out.println("它是一元二次方程!");double disk=b*b-4*a*c;if(disk>=0){root1=(-b+Math.sqrt(disk))/(2*a);root1=(-b-Math.sqrt(disk))/(2*a);System.out.println("方程的实根是"+root1+"和"+root2);}else {System.out.println("方程没有实根!");}}else {System.out.println("它不是一元二次方程!");}}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

经过上面三个图的操作,便可以生成自己要导入的jar包了,下面进行导入自己的jar包.
SunRise的主类:package HomeWork;
import tom.jiefei.*;
public class SunRise {public static void main(String[] args) {// TODO Auto-generated method stubSquareEquation A =new SquareEquation(1,2,1);A.getRoots();}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于JAVA中类与对象例题和一边过的导jar包方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275808

相关文章

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA