实验二 Java简单类与对象 您所在的位置:网站首页 关于Java的一些小总结 实验二 Java简单类与对象

实验二 Java简单类与对象

2024-06-18 21:22| 来源: 网络整理| 查看: 265

Java实验报告

班级 2020级软件工程3班 学号 20209155 姓名 毛路桥 完成时间 2022年3月27日

实验二 Java简单类与对象 一、 实验目的

(1) 掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值; (2) 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性; (3) 理解static修饰符对类、类成员变量及类方法的影响。

二、 实验内容 写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有: (1) 使用构造函数完成各属性的初始赋值 (2) 使用get…()和set…()的形式完成属性的访问及修改 (3) 提供计算面积的getArea()方法和计算周长的getLength()方法银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。 三、 实验过程 题目一

写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有: (1) 使用构造函数完成各属性的初始赋值 (2) 使用get…()和set…()的形式完成属性的访问及修改 (3) 提供计算面积的getArea()方法和计算周长的getLength()方法 代码截图如下:

代码截图如下: 在这里插入图片描述

运行结果如下:

在这里插入图片描述

题目一完整代码:

package operator; public class Rectangle { private double height; private double width; private String color; public Rectangle(double width,double height,String color){ this.setColor(color); this.setHeight(height); this.setWidth(width); } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public double getWidth() { return width; } public void setWidth(double width) { this.width = width; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public void getArea(){ double area=0; area=this.height*this.width; System.out.println("矩形的面积:"+area); } public void getLength(){ double length; length=width+height+width+height; System.out.println("矩形的周长:"+length); } public String toString(){ String recStr="矩形的高度:"+this.getHeight()+"宽度:"+this.getWidth()+"颜色:"+this.getColor(); return recStr; } public static void main(String[] args) { Rectangle rec=new Rectangle(5,10,"红色"); rec.getArea(); rec.getLength(); System.out.println(rec.toString()); } } 题目二

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

代码截图如下:

在这里插入图片描述

运行结果如下: 在这里插入图片描述 题目二完整代码:

package Account; import java.util.Scanner; import java.util.Date; class Test { private String sign,password,name="none",date; private double balance; public Test(String password,double balance){ this.setPassword(password); this.setBalance(balance); } public String getsign() { return sign; } public void setsign(String sign) { this.sign = sign; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } } class Bank { static Test per[]=new Test[100]; static int i=-1; static int id=0; static String s; public static void main(String[] args) { for(int j=0;j System.out.println("1:存款 2:取款 3:变更密码 4:查询账户标识 5:查询姓名 6:查询开户日期 7:当前余额 0:返回"); Scanner input=new Scanner(System.in); switch(input.nextInt()){ case 1:System.out.println("存款金额:"); per[i].setBalance(input.nextDouble()+per[i].getBalance()); System.out.println("存款成功!");yewu(i); case 2:System.out.println("取款金额:"); if(per[i].getBalance()-input.nextDouble() per[i].setBalance(per[i].getBalance()-input.nextDouble()); System.out.println("取款成功!");yewu(i); } case 3:System.out.println("请输入新密码:"); per[i].setPassword(input.next()); System.out.println("修改成功!");yewu(i); case 4:System.out.println("您的账户标识为:"+per[i].getsign());yewu(i); case 5:System.out.println("您的姓名为:"+per[i].getName());yewu(i); case 6:System.out.println("您的开户日期为:"+per[i].getDate());yewu(i); case 7:System.out.println("您的余额为:"+per[i].getBalance());yewu(i); case 0:zhuyemian(); } } public static void denglu() { System.out.println("请输入您的姓名:"); Scanner input=new Scanner(System.in); s=input.next(); i=-1; while(i System.out.println("请输入您的密码:"); if(input.next().equals(per[i].getPassword())){ System.out.println("登陆成功!"); yewu(i); } else{ System.out.println("姓名或密码有误,请重新输入"); denglu(); } } } System.out.println("没有此用户!"); zhuyemian(); } public static void kaihu() { per[id]=new Test("123456",0.0); if(id>=100){ s="uniqueid"+id; per[id].setsign(s); }else if(id>=10){ s="uniqueid0"+id; per[id].setsign(s); }else{ s="uniqueid00"+id; per[id].setsign(s); } Date date=new Date(); per[id].setDate(date.toString()); System.out.println("请输入您的姓名:"); Scanner input=new Scanner(System.in); per[id].setName(input.next()); System.out.println("开户成功,您的初始密码为123456,请尽快更改!"); id++; denglu(); } public static void zhuyemian() { System.out.println("1:开户 2:业务办理"); Scanner input =new Scanner(System.in); s=input.next(); if(s.equals("1")){ kaihu(); } if(s.equals("2")){ denglu(); } } }

总结:通过学习,加深了自己对String类方法知识的理解,李津老师讲课非常有活力,每堂课都自己操作,然后每个知识点讲的也是非常的细致明白。本周实验题主要用于复习和练习String类方法及知识内容中的一些对Java程序源代码的封装性,实验题第一题求矩形面积周长,实验内容包括string类方法、get()、set()对源代码信息进行封装、this关键字。其它的话也没有太大课外的知识点。那么第二题的话,运用目前学习的Java内容还不足以实现对其的读法。1、String类在Java中比较特殊,String可以实验直接赋值的方式,也可以通过构造方法进行实例化,前者只产生一个实例化对象,而且此实例化对象可以重用,后者将产生两个实例化对象,其中一个是垃圾空间,在Sting中比较内容equals方法,而“==”比较的只是两个字符串的地址值。字符串的内容一旦声明则不可被改变。

``



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有