实验二 对象基础实验

实验内容

‬‬1、设计并完成教材习题4.16、4.19;
2、采用面向对象的方法设计一个能对复数(Complex)进行加、减、乘法简单运算的程序。

注意

完整实验报链接:https://download.csdn.net/download/qq_29711355/85639916

教材4.16

生成一个包括长度(length)项的类,能够在英尺制单位和米制单位之间进行转换。

参考代码

‘Length’ 类

public class Length {
	private double length;
	private String unit;
	private static final double INCHANDCENTIMETER = 2.54;
	private static final double FOOTANDCENTIMETER = 30.48;
	private static final double INCHANDMETER = 0.0254;
	private static final double FOOTANDMETER = 0.3048;
	public Length() {
		super();
		this.length = 0;
		this.unit = "";
	}
	public Length(double length, String unit) {
		super();
		this.length = length;
		this.unit = unit;
	}
	
	//将英寸转换为米
	public String mInchToMeter() {
		String len = String.valueOf(this.length * INCHANDMETER);
		return len+"米";
	}
	
	//将英尺转换为米
	public String mFOOTToMeter() {
		String len = String.valueOf(this.length * FOOTANDMETER);
		return len+"米";
	}
	
	//将英寸转换为厘米
	public String mInchToCentimeter() {
		String len = String.valueOf(this.length * INCHANDCENTIMETER);
		return len+"厘米";
	}
	
	//将英尺转换为厘米
	public String mFOOTToCentimeter() {
		String len = String.valueOf(this.length * FOOTANDCENTIMETER);
		return len+"厘米";
	}
	
	//将厘米转换为英寸
	public String mCentimeterToInch() {
		String len = String.valueOf(this.length / INCHANDCENTIMETER);
		return len+"英寸";
	}
	
	//将米转换为英寸
	public String mMeterToInch() {
		String len = String.valueOf(this.length / INCHANDMETER);
		return len+"英寸";
	}
	
	//将厘米转换为英尺
	public String mCentimeterToFoot() {
		String len = String.valueOf(this.length / FOOTANDCENTIMETER);
		return len+"英尺";
	}
	
	//将米转换为英尺
	public String mMeterToFoot() {
		String len = String.valueOf(this.length / FOOTANDMETER);
		return len+"英尺";
	}
	
	/**
	 * get and set
	 */
	public double getLength() {
		return length;
	}
	public void setLength(double length) {
		this.length = length;
	}
	public String getUnit() {
		return unit;
	}
	public void setUnit(String unit) {
		this.unit = unit;
	}
	
}

‘Test’ 类

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入要转换的数值:");
		double n = scanner.nextDouble();
		System.out.println("单位(厘米、米、英尺、英寸):");
		String unit = scanner.next();
		Length length = new Length(n,unit);
		if (unit.equals("厘米")) {
			System.out.println(n + unit + " = " + length.mCentimeterToFoot());
			System.out.println(n + unit + " = " + length.mCentimeterToInch());
		}else if (unit.equals("米")) {
			System.out.println(n + unit + " = " + length.mMeterToFoot());
			System.out.println(n + unit + " = " + length.mMeterToInch());
		}else if (unit.equals("英尺")) {
			System.out.println(n + unit + " = " + length.mFOOTToCentimeter());
			System.out.println(n + unit + " = " + length.mFOOTToMeter());
		}else if (unit.equals("英寸")) {
			System.out.println(n + unit + " = " + length.mInchToCentimeter());
			System.out.println(n + unit + " = " + length.mInchToMeter());
		}else {
			System.out.println("单位错误!");
		}
		
		scanner.close();
	}
}

教材4.16

设计一个用于计算矩形面积、立方体体积、球体体积的类,并且计算用静态方法。
‘Calculation’ 类

参考代码

public class Calculation {
	//计算矩形长度
	public static double calculatedArea(double length, double width) {
		return length * width;
	}
	
	//计算立方体体积
	public static double  calculatedVolume(double length, double width, double height) {
		return length * width * height;
	}
	
	//计算球体体积
	public static double calculatedSphere(double redius) {
		return 4*Math.PI*Math.pow(redius,3)/3;
	}
}

‘Test’ 类

public class Test {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while (true) {
			System.out.println("1.计算矩形面积 \n2.计算立方体体积\n3.计算球体体积");
			int select = scanner.nextInt();
			double length,width,height,redius;
			switch (select) {
			case 1:
				System.out.println("请输入长和宽");
				length = scanner.nextDouble();
				width = scanner.nextDouble();
				System.out.println("矩形面积为:" + Calculation.calculatedArea(length, width));
				break;
			case 2:
				System.out.println("请输入长、宽、高");
				length = scanner.nextDouble();
				width = scanner.nextDouble();
				height = scanner.nextDouble();
				System.out.println("立方体体积为:" + Calculation.calculatedVolume(length, width,height));
				break;
			case 3:
				System.out.println("球体半径");
				redius = scanner.nextDouble();
				System.out.println("球体体积为:" + Calculation.calculatedSphere(redius));
				break;
			default:
				break;
			}
		}
	}
}

采用面向对象的方法设计一个能对复数(Complex)进行加、减、乘法简单运算的程序。

参考代码

‘Complex’ 类

public class Complex {
	private double real;
    private double com;
    Complex() {
    }
    Complex(Complex complex) {
        this.real = complex.real;
        this.com = complex.com;
    }
    Complex(double real, double com) {

        this.real = real;
        this.com = com;
    }
	public double getReal() {
		return real;
	}
	public void setReal(double real) {
		this.real = real;
	}
	public double getCom() {
		return com;
	}
	public void setCom(double com) {
		this.com = com;
	}
}

说明

个人能力有限,仅供参考,共同学习!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实验目的: 1. 理解面向对象编程的基本概念和特点 2. 学会定义类和对象、属性和方法 3. 掌握类的继承、多态等概念和使用方法 实验内容: 1. 定义一个汽车类,包含属性:品牌、型号、颜色、速度等;方法:启动、加速、刹车、熄火等。 2. 定义一个电视类,包含属性:品牌、型号、颜色、尺寸等;方法:开机、关机、调节音量、切换频道等。 3. 定义一个手机类,包含属性:品牌、型号、颜色、尺寸等;方法:拨打电话、发送短信、拍照、播放音乐等。 4. 实现以上类的继承关系,并创建相应的对象进行测试。 实验步骤: 1. 定义汽车类 ``` class Car: def __init__(self, brand, model, color, speed): self.brand = brand self.model = model self.color = color self.speed = speed def start(self): print("汽车已启动!") def accelerate(self): print("汽车已加速!") def brake(self): print("汽车已刹车!") def stop(self): print("汽车已熄火!") ``` 2. 定义电视类 ``` class TV: def __init__(self, brand, model, color, size): self.brand = brand self.model = model self.color = color self.size = size def power_on(self): print("电视已开机!") def power_off(self): print("电视已关机!") def adjust_volume(self): print("音量已调节!") def change_channel(self): print("频道已切换!") ``` 3. 定义手机类 ``` class Phone: def __init__(self, brand, model, color, size): self.brand = brand self.model = model self.color = color self.size = size def make_call(self): print("正在拨打电话...") def send_message(self): print("正在发送短信...") def take_photo(self): print("正在拍照...") def play_music(self): print("正在播放音乐...") ``` 4. 实现以上类的继承关系 ``` class ElectricCar(Car): def __init__(self, brand, model, color, speed, battery): super().__init__(brand, model, color, speed) self.battery = battery def recharge(self): print("电动汽车正在充电...") class SmartPhone(Phone): def __init__(self, brand, model, color, size, os): super().__init__(brand, model, color, size) self.os = os def surf_internet(self): print("正在上网浏览...") def install_app(self): print("正在安装应用...") class SmartTV(TV): def __init__(self, brand, model, color, size, os): super().__init__(brand, model, color, size) self.os = os def smart_cast(self): print("正在进行智能投屏...") def online_play(self): print("正在进行在线播放...") ``` 5. 创建对象进行测试 ``` # 创建汽车对象并进行测试 car = Car("宝马", "X5", "黑色", 0) car.start() car.accelerate() car.brake() car.stop() # 创建电视对象并进行测试 tv = TV("TCL", "55P8S", "银色", "55英寸") tv.power_on() tv.power_off() tv.adjust_volume() tv.change_channel() # 创建手机对象并进行测试 phone = Phone("华为", "Mate 40", "白色", "6.76英寸") phone.make_call() phone.send_message() phone.take_photo() phone.play_music() # 创建电动汽车对象并进行测试 electric_car = ElectricCar("特斯拉", "Model S", "白色", 0, "电池") electric_car.start() electric_car.accelerate() electric_car.brake() electric_car.stop() electric_car.recharge() # 创建智能手机对象并进行测试 smart_phone = SmartPhone("小米", "10", "黑色", "6.67英寸", "MIUI") smart_phone.make_call() smart_phone.send_message() smart_phone.take_photo() smart_phone.play_music() smart_phone.surf_internet() smart_phone.install_app() # 创建智能电视对象并进行测试 smart_tv = SmartTV("海信", "55U7QF", "黑色", "55英寸", "Android TV") smart_tv.power_on() smart_tv.power_off() smart_tv.adjust_volume() smart_tv.change_channel() smart_tv.smart_cast() smart_tv.online_play() ``` 实验结果: ``` 汽车已启动! 汽车已加速! 汽车已刹车! 汽车已熄火! 电视已开机! 电视已关机! 音量已调节! 频道已切换! 正在拨打电话... 正在发送短信... 正在拍照... 正在播放音乐... 汽车已启动! 汽车已加速! 汽车已刹车! 汽车已熄火! 电动汽车正在充电... 正在拨打电话... 正在发送短信... 正在拍照... 正在播放音乐... 正在上网浏览... 正在安装应用... 电视已开机! 电视已关机! 音量已调节! 频道已切换! 正在进行智能投屏... 正在进行在线播放... ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无奈清风吹过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值