• Java学习第23天


    1. 一、今日内容

    23.1  找出一个整型数组中元素的最大值(用类处理)。

    23.2  三维坐标向量类

    【问题描述】

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

    数据成员:

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

      公有函数成员:

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

    • 重载输入输出运算符,输出格式为(x, y, z);

    • 重载加法+、减法-、数乘*(乘数在前,乘数为float类型)这三个运算符;

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

    23.3N维整型向量类

    【问题描述】

    线性代数里面我们学习过n维向量,请用类vector_N来封装n维整型向量,成员如下;

    私有数据成员:

    • 向量维数n, int型

    • 指针 p,int型

      公有函数成员:

    • 无参默认构造函数,在该函数中,将n置0,将p置null;

    • 重载输入输出运算符,输入运算符,先指定向量维数,若输入为非正整数,则提示错误信息,“Error Length!”然后退出程序,若维数输入正确则分配长度为n的动态内存,并用指针p指向该内存,输出运算符依次输出向量各元素即可;

    • 重载向量的加法+、减法-、数乘*(乘数在前,乘数为int型)这三运算符;

    • 重载[]运算,例如,向量a=(1,2,3,4),a[0]的值为1,若下标越界,则输出“Error Index”,然后退出程序;

    • 返回向量维数的函数;

    • 将两个向量的内积运算定义为vector_N的友元函数;

      在主函数中定义两个vector_N类对象v1,v2,均不带参数,之后对两个对象进行输入赋值,输入数乘运算的乘数,输入待取元素的下标,对两个向量进行加、减、数乘和内积运算,并将结果输出,输出v1中对应下标对应的元素。加法、减法和内积运算先判断两向量维数是否一致,若一致则输出运算结果,否则输出错误提示信息“Mismatch Length!”

      提示:1.此类需要用到动态内存的分配,所以在析构函数中应释放空间,并将指针置null,将维数n置0

      2.需要显式定义复制构造函数vector_N(vector_N &)

      3.需要重载复制运算符 vector_N operator= (vector_N &)

      4.退出程序用函数 _exit(0)

      5.返回值类型需要为引用的形式,另一方面,在使用时就要考虑不能返回临时变量的引用

    23.4电子钟

    设计一款电子钟类,用于显示时、分、秒

    1. 含有形参有默认值的默认构造函数;

    2. 重载 前缀++ 和 后缀—用于调整时间,每次调整均对秒进行调整,若秒满60,则分加1,若分满60则时加1,时满24,则清零重新开始;

    3. 重载插入运算符 >> 用于输入(设定)时间;

    4. 重载插入运算符 << 用于输出时间。

    23.5分数类

    定义一个分数类,包含分子、分母

    1. 含有无参的默认构造函数,并进行构造函数的重载;

    2. 重载分数的加法+、减法-、数乘*这三运算符;

    3. 重载分数的输入和输出运算符;

    4. 重载分数的关系运算符==,!=,>=,<=;

    5. 定义约简函数,使分子分母没有公因子。

    二、问题

    暂无

    三、明日继续

  • 相关阅读:
    【bzoj2500】幸福的道路 树形dp+单调队列
    【ARC069F】Flags 2-sat+线段树优化建图+二分
    【bzoj2437】[Noi2011]兔兔与蛋蛋 二分图最大匹配+博弈论
    剑指offer——树的子结构
    剑指offer——反转链表
    腾讯算法岗面试算法题——计数排序
    作业帮面试题
    剑指offer——重建二叉树
    剑指offer——二维数组中的查找
    删除链表中重复的结点
  • 原文地址:https://www.cnblogs.com/zyljal/p/13393587.html
Copyright © 2020-2023  润新知