• 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 }
    复制代码

     

  • 相关阅读:
    在线自动创建springboot工程
    java线程自带队列的使用以及线程阻塞
    如何分析java内存泄漏问题
    java接口入参模板化,适用于企业化服务远程调度模板化的场景,接口入参实现高度可配置化
    打造springboot高性能服务器(spring reactor的使用)
    docker 5 docker-阿里云加速配置
    docker 4 docker的三要素
    docker 3 docker安装
    docker 2 docker介绍
    docker 1 为什么要使用docker
  • 原文地址:https://www.cnblogs.com/ltw222/p/14151525.html
Copyright © 2020-2023  润新知