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 stub
		Vehicle 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 stub
		Village 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 stub
		SquareEquation A =new SquareEquation(1,2,1);
		A.getRoots();
	}

}

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

猜你喜欢

转载自blog.csdn.net/Alan_King79/article/details/115423131