一、今日学习内容:
今天练习实验三的内容。
二、遇到的问题:
无
三、明日计划:
明天继续练习实验三的习题。
今日练习的具体内容如下:
1.复数类
对于复数类(老师例子或作业),定义复数类的一个友元函数 complex add(complex x,complex y),用于完成两个复数的加法,对于减法、除法、乘法类似。
import java.util.Scanner; public class complex { private static int a; private int b; public static void main(String []args) { System.out.println("1.复数加法"); System.out.println("2.复数乘法"); System.out.println("3.复数除法"); System.out.println("4.复数除法"); System.out.println("5.退出"); System.out.println("请输入你的选择:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); while(n!=5) { if(n==1) { System.out.println("请输入第一个复数的的实部和虚部:"); int x1=sc.nextInt(); int y1=sc.nextInt(); complex s1=new complex(x1,y1); System.out.println("请输入第二个复数的的实部和虚部:"); int x2=sc.nextInt(); int y2=sc.nextInt(); complex s2=new complex(x2,y2); complex s=new complex(); s=add(s1,s2); s.show(); } if(n==2) { System.out.println("请输入第一个复数的的实部和虚部:"); int x1=sc.nextInt(); int y1=sc.nextInt(); complex s1=new complex(x1,y1); System.out.println("请输入第二个复数的的实部和虚部:"); int x2=sc.nextInt(); int y2=sc.nextInt(); complex s2=new complex(x2,y2); complex s=new complex(); s=Subtraction(s1,s2); s.show(); } if(n==3) { System.out.println("请输入第一个复数的的实部和虚部:"); int x1=sc.nextInt(); int y1=sc.nextInt(); complex s1=new complex(x1,y1); System.out.println("请输入第二个复数的的实部和虚部:"); int x2=sc.nextInt(); int y2=sc.nextInt(); complex s2=new complex(x2,y2); complex s=new complex(); s=Multiplication(s1,s2); s.show(); } if(n==4) { System.out.println("请输入第一个复数的的实部和虚部:"); int x1=sc.nextInt(); int y1=sc.nextInt(); complex s1=new complex(x1,y1); System.out.println("请输入第二个复数的的实部和虚部:"); int x2=sc.nextInt(); int y2=sc.nextInt(); complex s2=new complex(x2,y2); complex s=new complex(); s=add(s1,s2); s.show(); } if(n==5) { System.out.println("已成功退出!:"); System.exit(0); } System.out.println("请输入你的选择:"); n=sc.nextInt(); } } public void show() { System.out.println("结果是:"+a+"+"+b+"i"); } complex(int x,int y){ a=x; b=y; } complex(){ } public static complex add(complex c1,complex c2) { //加法 complex c=new complex(); c.a=c1.a+c2.a; c.b=c1.b+c2.b; return c; } public static complex Subtraction(complex c1,complex c2) { //减法 complex c=new complex(); c.a=c1.a-c2.a; c.b=c1.b-c2.b; return c; } public static complex Multiplication(complex c1,complex c2) { //乘法 complex c=new complex(); c.a=c1.a*c2.a+c1.b*c2.b; c.b=c1.b*c2.a+c1.a*c2.b; return c; } public static complex Division(complex c1,complex c2) { //除法 complex c=new complex(); c.a=(c1.a*c2.a+c1.b*c2.b)/(c2.a*c2.a-c2.b*c2.b); c.b=c1.b*c2.a-c1.a*c2.b; return c; } }
测试截图:
2.交通工具类
设计一个交通工具类Vehicle,包含当前载重量和最大载重量两个私有属性,要求具有以下功能和内容:
-
有两个构造函数(其中一个为默认构造函数)和一个解析函数,
-
可分别获得两个属性的值
-
可分别设置两个属性的值
-
可判断当前载重量是否符合最大载重量以及加入一定重量后是否超载,若超载发出报警信息;
import java.util.Scanner; public class weight { private float w; private float max_w; public static void main(String[] args) { System.out.println("请输入当前载重量和最大载重量:"); Scanner sc=new Scanner(System.in); float x=sc.nextFloat(); float y=sc.nextFloat(); weight w1=new weight(x,y); w1.judge(x); System.out.println("当前重量:"+w1.get_weight()); System.out.println("最大承载重量:"+w1.get_max_weight()); } weight(){ } weight(float a,float b){ w=a; max_w=b; } public void setvalue(int a,int b) { w=a; max_w=b; } public float get_weight() { return w; } public float get_max_weight() { return max_w; } public void judge(float x) { if(x>max_w) System.out.println("警报!超载!"); else System.out.println("正常,未超载!"); } }
测试截图: