实验内容
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;
}
}
说明
个人能力有限,仅供参考,共同学习!