编程语言
首页 > 编程语言> > Java类与对象(机动车)(家中电视)(共饮同井水)(求方程的根)

Java类与对象(机动车)(家中电视)(共饮同井水)(求方程的根)

作者:互联网

        Java程序以类为“基本单位”,即一个Java程序就是由若干个类所构成的。一个Java程序可以将它使用的各个类分别存放在不同的源文件中,也可以将它使用的类存放在一个源文件中。
在这里插入图片描述

机动车

实验要求

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

Vehicle.java:

public class Vehicle {
	//声明double型变量speed,刻画速度
	double speed;
	//声明int型变量power,刻画功率
	int power;
	void speedUp(int s) {
		//将参数s的值与成员变量speed的和赋值给成员变量speed
		speed += s;
	}
	void speedDown(int d) {
		//将成员变量speed与参数d的差赋值给成员变量speed
		speed -= d;
	}
	void setPower(int p) {
		//将参数p的值赋值给成员变量power
		power = p;
	}
	int getPower() {
		//返回成员变量power的值
		return power;
	}
	double getSpeed() {
		return speed;
	}}

User.java

public class User {
	public static void main(String[] args) {
		Vehicle car1,car2;
		//使用new运算符和默认的构造方法创建对象car1
		car1 = new Vehicle();
		//使用new运算符和默认的构造方法创建对象car2
		car2 = new Vehicle();
		
		car1.setPower(128);
		car2.setPower(76);
		
		System.out.println("car1的功率是:"+car1.getPower());
		System.out.println("car2的功率是:"+car2.getPower());
		//car1调用speedUp()方法将自己的speed的值增加80
		car1.speedUp(80);
		//car2调用speedUp()方法将自己的speed的值增加80
		car2.speedUp(100);
		
		System.out.println("car1目前速度:"+car1.getSpeed());
		System.out.println("car2目前速度:"+car2.getSpeed());
		
		car1.speedDown(10);
		car2.speedDown(20);
		
		System.out.println("car1目前的速度:"+car1.getSpeed());
		System.out.println("car2目前的速度:"+car2.getSpeed());
		
	}}

家中电视

实验要求

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

TV.java

public class TV {
	int channel;	//电视频道
	void setChannel(int m) {
		if(m>1) {
			channel = m;
		}
	}
	int getChannel() {
		return channel;
	}
	void showProgram() {
		switch(channel) {
		case 1:
			System.out.println("综合频道");
			break;
		case 2:
			System.out.println("经济频道");
			break;
		case 3:
			System.out.println("文艺频道");
			break;
		case 4:
			System.out.println("国际频道");
			break;
		case 5:
			System.out.println("体育频道");
			break;
		default:
			System.out.println("不能收看"+channel+"频道");
		}
	}}

Family.java

public class Family {
	TV homeTV;
	void buyTV(TV tv) {
		//将参数tv赋值给homeTV
		homeTV = tv;
	}
	void remoteControl(int m) {
		homeTV.setChannel(m);
	}
	void seeTV() {
		homeTV.showProgram();//homeTV调用showProgram()方法
	}}

MainClass.java

public class MainClass {
	public static void main(String[] args) {
		TV haierTV = new TV();
		//haierTV调用setChannel(int m),并向参数m传递5
		haierTV.setChannel(5);
		
		System.out.println("haier的频道是"+haierTV.getChannel());
		Family zhangSanFamily = new Family();
		//zhangSanFamily调用void buyTV(TV tv)方法,并将haierTV传递给参数TV
		zhangSanFamily.buyTV(haierTV);
		
		System.out.println("zhangSanFamily开始看电视节目");
		zhangSanFamily.seeTV();
		int m=2;
		System.out.println("zhangSanFamily将电视更换到"+m+"频道");
		zhangSanFamily.remoteControl(m);
		System.out.println("haier的频道是"+haierTV.getChannel());
		System.out.println("zhangSanFamily在看电视节目");
		zhangSanFamily.seeTV();
		
	}}

共饮同井水

Village.java

public class Village {
	static int waterAmount;
	int peopleNumber;
	String name;
	Village(String s){
		name = s;
	}
	
	static void setWaterAmount(int m){
		if(m > 0){
			waterAmount = m;
		}
	}
	
	void drinkWater(int n){
		if(waterAmount-n >= 0) {
			waterAmount -= n;
			System.out.println(name+"喝了"+n+"升水");
		}else {
			waterAmount = 0;
		}
	}
	
	static int lookWaterAmount() {
		return waterAmount;
	}
	
	void setPeopleNumber(int n) {
		peopleNumber = n;
	}
	
	int getPeopleNumber() {
		return peopleNumber;
	}}

Land.java

public class Land {
	public static void main(String[] args) {
		Village.setWaterAmount(200);
		int leftWater = Village.waterAmount;
		System.out.println("水井中有"+leftWater+"升水");
		Village zhaoZhuang,maJiaHeZhi;
		zhaoZhuang = new Village("赵庄");
		maJiaHeZhi = new Village("马家河子");
		zhaoZhuang.setPeopleNumber(80);
		maJiaHeZhi.setPeopleNumber(120);
		
		zhaoZhuang.drinkWater(50);
		
		leftWater = maJiaHeZhi.lookWaterAmount();
		String name = maJiaHeZhi.name;
		System.out.println(name+"发现水井中有 "+leftWater+" 升水");
		
		maJiaHeZhi.drinkWater(100);
		leftWater = zhaoZhuang.lookWaterAmount();
		name = zhaoZhuang.name;
		
		System.out.println(name+"发现水井中有 "+leftWater+"升水");
		
		int peopleNumber = zhaoZhuang.getPeopleNumber();
		System.out.println("赵庄的人口:"+peopleNumber);
		peopleNumber = maJiaHeZhi.getPeopleNumber();
		System.out.println("马家河子的人口:"+peopleNumber);
	}}

求方程的根

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

SquareEquation.java

package tom.jiafei;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);
				root2 = (-b-Math.sqrt(disk))/(2*a);
				System.out.printf("方程的根:%f,%f\n",root1,root2);
			}else {
				System.out.println("方程没有实根");
			}
		}
		else {
			System.out.println("不是一元二次方程");
		}
	}
	
	public void setCofficient(double a,double b,double c) {
		this.a = a;
		this.b = b;
		this.c = c;
		if(a != 0)
			boo = true;
		else
			boo = false;
	}}

SunRise.java

import tom.jiafei.*;public class SunRise {
	public static void main(String[] args) {
		SquareEquation equation = new SquareEquation(4, 5, 1);
		equation.getRoots();
		equation.setCofficient(1, 1, 1);
		equation.getRoots();
	}}

               

标签:Java,int,井水,void,car1,System,println,饮同,out
来源: https://blog.51cto.com/u_15249901/2848380