Java实验报告(二)

实验二 Java简单类与对象

一、 实验目的

(1) 掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;

(2) 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;

(3) 理解static修饰付对类、类成员变量及类方法的影响。

二、 实验内容

  1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

(1) 使用构造函数完成各属性的初始赋值

(2) 使用get…()和set…()的形式完成属性的访问及修改

(3) 提供计算面积的getArea()方法和计算周长的getLength()方法

  1. 银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

三、实验过程(请自己调整格式)

1. 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

(1) 使用构造函数完成各属性的初始赋值

(2) 使用get…()和set…()的形式完成属性的访问及修改

(3) 提供计算面积的getArea()方法和计算周长的getLength()方法

实验源码:

package work;class Rectangle1 {private double width, height;private String color;                                              //声明变量属性public Rectangle1(double width, double height, String color) {     //定义构造方法为属性初始化并赋值this.setWidth(width);this.setHeight(height);this.setColor(color);}                                                      public void result() {                                           //取得信息的方法System.out.println("面积:"+getArea()+",周长:"+getLength()+",颜色:"+getColor());}public double getWidth(){                                       //取得宽度return width;}public void setWidth(double width) {                           //设置宽度this.width = width;}public double getHeight() {                                   //取得高度return height;}public void setHeight(double height) {                       //设置高度this.height = height;}public String getColor() {                                         //取得颜色return color;}public void setColor(String color) {                       //设置颜色this.color = color;}public double getArea() {                                 //计算面积return this.width*this.height;}public double getLength() {                              //计算周长return (this.width+this.height)*2;}
}public class Rectangle{                                       public static void main(String args[]) {Rectangle1 sum = new Rectangle1(15.00,16.00,"black");       //调用构造方法,传递参数 sum.result();                                      //传出信息}}

实验中遇到的问题:

1.在新建类时直接设置了public static void main(String args[]) ,并在其中使用了this,出现了错误,依靠提示将其修改。

2这是我在本题中花费时间最长的问题,进行了各种修改才发现是我在输出时没有将color输出。

3.在不断修改第二题的过程中我突然发现了两种返回getArea()方法和getLength()方法结果的办法

实验结果:

2. 银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

package work;import java.util.Scanner;
class Bank {private String tag, name, time;private int password;private double balance;public Bank(String tag, String name, String time, int password, double balance) {this.setTag(tag);this.setName(name);this.setTime(time);this.setPassword(password);this.setBalance(balance);}public String getTag() {return tag;}public void setTag(String tag) {this.tag = tag;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}public int getPassword() {return password;}public void setPassword(int password) {this.password =  password;}public double getBalance() {return balance;}public void setBalance(double balance) {this.balance = balance;}Scanner s = new Scanner(System.in);public void SaveOrTake() {int num = s.nextInt();if(num<=0&&balance<=0)System.out.println("余额不足");elsebalance += num;}public void ChangePW() {int p = s.nextInt();if(p != 123456)System.out.println("密码错误");elseSystem.out.println("请输入新密码");int n = s.nextInt();password = n; }}
public class Account{public static void main(String[] args) {Bank str;str=new Bank("123456789eq","LI","20190922",123456,666.01);Scanner sc = new Scanner(System.in);int a = sc.nextInt();switch(a){case 1:str.SaveOrTake();break;case 2:str.ChangePW();break;case 3:System.out.println("123456789eq");break;case 4:System.out.println("20190922");break;}}
}

实验中遇到的问题:

1.第一个遇到的问题就是不知道怎么随机给账户生成一个唯一标识。看了学委的博客发现他是用了base64编码,百度了一下base64编码,了解了这是个什么东西,但是我目前还是不会使用。
2.开户日期应该连接网络同步上传,这里我也还不太懂该怎么弄,但是在搜索的过程中发现了别人的代码,这部分还有待实验。


import java.util.Calendar;
import java.util.Date;
public class gaintime {
/**
* @param args
*/public static void main(String[] args) {Date today = new Date();System.out.println("当前时间是" + today.toString());Calendar now = Calendar.getInstance();int day = now.get(Calendar.DATE);int time = now.get(Calendar.HOUR_OF_DAY);System.out.println(time);

四、 总结

1.第一题很简单,但是在做之前发现不记得上课讲了什么,再翻书复习的构造函数
2.第二题还有很多遗留问题,希望能在之后的学习过程中得到解答

第四周课程总结

1.实例化String对象:

①直接赋值:String name = "li";
②通过new方法:String name =new String ("li");

2.String类中几种内容比较方式

①“==”
②重点:使用equals()
 String str = "hello";String str1="world";  if(str.equals(str1)) {  System.out.println("相等"); }  else{System.out.println("不相等");  }运行结果:不相等

2.String类的常用方法


17.18可用来查找指定字符串

19用来比较字符串内容

转载于:https://www.cnblogs.com/LILI6/p/11559832.html

第四周课程总结实验报告(二)相关推荐

  1. 第四周课程总结实验报告二

    第四周课程总结 第四周课程总结 本周重点为学习String;首先String用以创建字符串,且通过有一次课堂练习加强理解到:String 类是不可改变的,一旦创建了 String 对象,那它的值就无法 ...

  2. java记事本实验总结_第十四周课程总结实验报告(简单记事本的实现)

    课程总结: JDBC: Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新 ...

  3. 2019春第二次课程设计实验报告

    2019春第二次课程设计实验报告 一.实验项目名称: 贪吃蛇游戏编写: 二.实验项目功能描述: 这个实验主要是实现游戏的正常运行,实现的目标是对小蛇移动的控制, 同时对小蛇数据的保存,如何实现转弯的效 ...

  4. 2109春第一次课程设计实验报告

    2019春第一次课程设计实验报告 一.实验项目名称: 飞机游戏的编写 二.实验项目功能描述: 这个实验主要是实现游戏的正常运行,实现控制飞机的移动功能,增加其实用度, 同时还实现发射子弹和出现敌机的操 ...

  5. 2019春第一次课程设计实验报告

    2019春第一次课程设计实验报告 一.实验项目名称 反弹球消砖块 二 .实验项目功能描述 用c语言编写一个反弹球小游戏,可以自己改变游戏的各项数据,可以通过键盘的 "a",&quo ...

  6. matlab数字图像处理课程设计报告,数字图像处理课程设计实验报告.doc

    数字图像处理课程设计实验报告 数字图像处理课程设计 题 目:数字图像处理及Huufman(或小波变换)编码仿真实现 学生姓名: 学 院:信息工程学院 系 别:电子信息工程系 专 业:电子信息工程 班 ...

  7. java课程设计实验报告_javaweb课程设计实验报告

    javaweb课程设计实验报告 1 湖南科技大学计算机科学与工程学院 WEB 编程课程设计报告 题目: 网上购物商店 学 号:1111111111 姓 名: 1 指导老师: 1 完成时间: 11111 ...

  8. oracle数据库环境实验报告,《Oracle数据库》实验报告二

    <<Oracle数据库>实验报告二>由会员分享,可在线阅读,更多相关<<Oracle数据库>实验报告二(5页珍藏版)>请在金锄头文库上搜索. 1.第 1 ...

  9. OS课程 ucore_lab1实验报告

    OS课程 ucore_lab1实验报告 练习一:理解通过make生成执行文件的过程.     列出本实验各练习中对应的OS原理的知识点,并说明本实验中的实现部分如何对应和体现了原理中的基本概念和关键知 ...

最新文章

  1. 个人书法记录-2019.4.22
  2. 凌晨1点突发致命生产事故!看的我惊心动魄…
  3. 2019牛客暑期多校训练营(第十场)C - Gifted Composer (二分+哈希)
  4. mysql 索引长度tips innodb和myisam引擎
  5. dos和linux有关系吗,DOS和Linux近年来的发展比较
  6. CSDN开发者周刊 TDengine:专为物联网订制的大数据平台 YugaByte DB:高性能的分布式ACID事务数据库
  7. int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”
  8. 【买衣服】I'm looking for a jacket
  9. 小程序服务商申请入口_商业版微信收款小程序商家申请开通流程指导
  10. Bootstrap 导航栏设置
  11. 打造全WINDOWS平台“微软五笔”GBK版!
  12. java我行我素购物系统_用java怎么编写 我行我素shopping购物管理体统
  13. java考试系统倒计时的实现_(Java程序设计)第11章设计考试系统中的倒计时.ppt
  14. 《仙剑奇侠传六》游戏感言
  15. Mac 鼠标手势软件 -- MacStroke
  16. VPS好用吗?VPS和物理机怎么选择?
  17. [TCP/IP] 基础知识总结
  18. 加密货币工具和算法大合集
  19. koa2入门之使用koa-generator生成koa2项目
  20. 利用Redis原子计数器incr实现计数器及接口限流

热门文章

  1. java读取json数据并解析输出对象
  2. 树莓派 安装中文字体、中文输入法fcitx和googlepinyin输入法
  3. Node.js html-webpack-plugin的使用
  4. php调用for循环函数吗,我需要将“函数”与“for循环”结合使用php
  5. python常用模块实例_python中常用的各种数据库操作模块和连接实例
  6. JavaScript 权威指南-学习笔记(一)
  7. prometheus 基于文件的目标发现
  8. [CodeForces1110C]Meaningless Operations
  9. 使用Qt Installer Framework制作软件安装包
  10. 【Linux】rpm常用命令及rpm参数介绍