实验二 对象基础实验

实验内容

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

注意

完整实验报链接:https://download.youkuaiyun.com/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;
	}
}

说明

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无奈清风吹过

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

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

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

打赏作者

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

抵扣说明:

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

余额充值