zoukankan      html  css  js  c++  java
  • 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 }
    复制代码

     

  • 相关阅读:
    LeetCode Array Easy 414. Third Maximum Number
    LeetCode Linked List Medium 2. Add Two Numbers
    LeetCode Array Easy 283. Move Zeroes
    LeetCode Array Easy 268. Missing Number
    LeetCode Array Easy 219. Contains Duplicate II
    LeetCode Array Easy 217. Contains Duplicate
    LeetCode Array Easy 189. Rotate Array
    LeetCode Array Easy169. Majority Element
    LeetCode Array Medium 11. Container With Most Water
    LeetCode Array Easy 167. Two Sum II
  • 原文地址:https://www.cnblogs.com/ltw222/p/14151525.html
Copyright © 2011-2022 走看看