2020.8.29

学习内容

1.三维坐标向量类

设计一个描述三维坐标的向量类vector3D,成员如下:

数据成员:

  • 三个坐标x,y,z,float类型,私有访问属性

公有函数成员:

  • 三个参数均有默认值的构造函数,默认值为0,0,0;

  • 完成输入输出,输出格式为(x, y, z);

  • 完成加法+、减法-、数乘*运算;

在主函数中定义两个vector3D类对象v1,v2,均不带参数,之后输入数字1或2选择为v1输入赋值,还是为v1和v2输入赋值,对v1和v2进行加、减运算,对v1进行数乘运算,乘数由用户输入,最后输出三种运算结果。

复制代码
 1 import java.util.Scanner;
 2 //三维向量坐标类
 3 public class Vector3D {
 4     private float x;
 5     private float y;
 6     private float z;
 7     public Vector3D() {
 8         this.x=0;
 9         this.y=0;
10         this.z=0;
11     }
12     public Vector3D(float x, float y, float z) {
13         this.x = x;
14         this.y = y;
15         this.z = z;
16     }
17     public void input() {
18         Scanner in=new Scanner(System.in);
19         x=in.nextFloat();
20         y=in.nextFloat();
21         z=in.nextFloat();
22     }
23     public void display() {
24         System.out.println("("+x+","+y+","+z+")");
25     }
26     //加法
27     public Vector3D add(Vector3D v) {
28         float a=x+v.x;
29         float b=y+v.y;
30         float c=z+v.z;
31         Vector3D p=new Vector3D(a,b,c);
32         return p;
33     }
34     //减法
35     public Vector3D sub(Vector3D v) {
36         float a=x-v.x;
37         float b=y-v.y;
38         float c=z-v.z;
39         Vector3D p=new Vector3D(a,b,c);
40         return p;
41     }
42     //数乘
43     public Vector3D mul(float n) {
44         float a=x*n;
45         float b=y*n;
46         float c=z*n;
47         Vector3D p=new Vector3D(a,b,c);
48         return p;
49     }
50     public static void main(String[] args) {
51         int n;
52         Vector3D v1=new Vector3D();
53         Vector3D v2=new Vector3D();
54         Scanner in=new Scanner(System.in);
55         System.out.println("1.为三维向量v1赋值并进行数乘运算");
56         System.out.println("2.为三维向量v1、v2赋值并进行加、减运算");
57         System.out.print("请输入你要进行的操作编号:");
58         n=in.nextInt();
59         if(n==1) {
60             float t;
61             Vector3D v;
62             System.out.print("请输入v1的三维坐标:");
63             v1.input();
64             System.out.print("请输入乘数:");
65             t=in.nextFloat();
66             v=v1.mul(t);
67             System.out.print("数乘结果为:");
68             v.display();
69         }
70         if(n==2) {
71             System.out.print("请输入v1的三维坐标:");
72             v1.input();
73             System.out.print("请输入v2的三维坐标:");
74             v2.input();
75             System.out.print("相加结果为:");
76             (v1.add(v2)).display();
77             System.out.print("相减结果为:");
78             (v1.sub(v2)).display();
79         }
80     }
81 }
复制代码

 

原文地址:https://www.cnblogs.com/ltw222/p/14151525.html