java入门实验

目录

目的

实验内容

我的分析

代码及分析

运行结果

总结


目的

掌握Java程序的基本结构——类,建立面向对象的思想,认识封装的理论意义。

实验内容

(第一部分)

1. 设计并编写自己感兴趣的类,例如: MyDate类,为类定义对象变量、构造器、操作对象变量的方法。

2. 实现Test类实现事务处理流程,例如:TestMyDate()的main()方法,实现对MyDate类型对象的创建、调用对象方法,实现对象状态的改变。

3. 为自己设计的类提供print()或toString()、equals()、hashCode()等方法。

       (第二部分)

1. 参考MyPoint.Java对于点数据结构的定义(两个整数[x,y]),及其toString()方法,和通过字符串连接运算使输出点形式为

start point is start[x,y]

end point is end[x,y]

的实现方式,实现自设计类。

我的分析

1.设计思想

   对于第一部分的内容,创建一个MyDate的类函数,自行定义一个操作,我的操作是输入两个年月日并判断两个是不是同一天,如果不是,第二次输入的日期是比第一天早还是晚,只需在主函数中输入年月日,调用MyDate中的print函数展示日期,在进行日期的比较最后输出结果即可。

   对于第二部分的内容,我创建了一个Mystudent的Java类,里面用于储存主函数会重复调用的名字、科目、成绩。因为要对其经行修改,所以我就没有将变量设置为private私有的类型了。然后分别对三个变量经行赋值,在让用户判断是否要修改成绩,若要修改的话就输入要修改的名字、修改后的成绩,然后对这个stu.scor重新赋值,最后输出。

代码及分析

第一部分MyDate类代码:

MyDate构造器:

Print()方法:

Compare()方法:

第二部分Mystudent类代码:

ToString()方法:

3.主要代码段说明(附代码)

第一部分主要代码:

输入第一个年月日和第二个年月日,在屏幕上展示,并判断是否是同一天,如果不是判断第二个日期比第一个日期早还是晚。

第二部分主要代码:

对每个stu的姓名、科目和分数赋值,在屏幕上展示,让用户判断是否对成绩经行修改。

修改操作:输入要修改人的姓名若存在此人可对其成绩经行修改,若姓名不匹配则显示查无此人,次操作不断循环直至用户输入0终止操作。

采用toString方法对姓名、科目、成绩经行输出。

运行结果

第一部分运行结果:

第二部分运行结果:

总结

1.代码调试中产生的错误及原因分析

错误:对equals()函数的使用,相同的变量也输出false;

原因,两个变量需是同一类的变量,即类型需要相同才会返回true。

2.实验中遇到的设计问题及解决方法

感觉实验里面挺多个实验内容我没有完成的,比如实验第二部分对于Mypoint.java我就实现的不是很好。我自行查阅了csdn,发现有些知识好像老师还没有教,而我对其 使用也不熟练,甚至是不会使用,所以实验完成的不是特别好,但我已经尽力完成了。

3.实验体会和收获。

   通过设计和编写自己感兴趣的类,我深入理解了面向对象编程的概念和原则。在这个实验中,我创建了一个名为MyDate的类,用于表示日期对象。通过为该类定义对象变量、构造器和操作对象变量的方法,我学会了如何在类中组织数据和行为。

   在测试类Test中,我实现了对MyDate类型对象的创建和调用对象方法,以及对象状态的改变。这让我更好地理解了如何使用类的实例,并且能够通过方法调用来操作对象的属性和行为。

   另外,为自己设计的类提供print()或toString()、equals()、hashCode()等方法也是实验的一部分。这些方法的实现使得我们可以方便地输出对象的信息、比较对象的相等性以及生成对象的哈希码。通过实现这些方法,我加深了对Java中常用方法的理解,并且掌握了如何自定义类的特定行为。

   总的来说,这个实验让我更深入地了解了面向对象编程的概念和技术。我学会了如何设计和编写自己的类,并通过测试类来验证类的功能。同时,我也加强了对Java中常用方法的理解和掌握。这些经验对我今后的编程工作将会非常有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值