实验二 Java简单类与对象
实验目的
掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。
实验内容
一:写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:
(1) 使用构造函数完成各属性的初始赋值
(2) 使用get…()和set…()的形式完成属性的访问及修改
(3) 提供计算面积的getArea()方法和计算周长的getLength()方法
代码:
package zy123;
import java.util.Scanner;
public class Rectangle{
private double width;
private double height;
private String color;
public Rectangle( double width, double height, String color){
this.height=height;
this.width=width;
this.color=color;
}
public double getWidth() {
return width;
}
public double getHeight() {
return this.height;
}
public String getColor() {
return this.color;
}
public double getArea() {
double s=width*height;
return s;
}
public double getLength() {
double l=2*(width+height);
return l;
}
public String toString() {
return color+","+width+","+height;
}
public static void main(String[] args) {
System.out.println("输入宽度,高度,颜色");
Scanner sc=new Scanner(System.in);
int w=sc.nextInt();
int h=sc.nextInt();
String c=sc.nextLine();
Rectangle rc=new Rectangle (w,h,c);
System.out.print("宽度"+rc.getWidth()+""+"高度"+rc.getHeight()
+""+"周长"+rc.getLength()+""+"面积"+rc.getArea()+""+"颜色"+rc.getColor());
}
}
运行截图:
实验过程:先创建一个类并将矩形的各种属性录入 并根据运算输出结果。
二:银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。
代码:
package zy123;
import java.util.Scanner;
public class Zy { //定义初始参数
Scanner sc = new Scanner(System.in);
private String characteristic="qwertyuiop1";
private String name;
private String date;
private double meony=0;
private String word;
public String getWord() { //设置属性
return word;
}
public void setWord(String word) { //取得属性(下同)
this.word = word;
}
public String getCharacteristic() {
return characteristic;
}
public void setCharacteristic(String characteristic) {
this.characteristic = characteristic;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public double getMeony() {
return meony;
}
public void setMeony(double meony) {
this.meony = meony;
}
public void land() { //登陆界面
System.out.println("请选择操作:0.开户,1.查询账户信息,2.存款,3.取款,4.更改密码,5.退出");
int a = sc.nextInt();
switch(a) { //用switch进行选择操作
case(0): //每个选项构建该选项的方法
newacounnt();
break;
case(1):
acounnt();
break;
case(2):
get();
break;
case(3):
put();
break;
case(4):
password();
break;
case(5):
setout();
break;
}
}
public void newacounnt() { //开户
System.out.println("请输入用户名");
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
setName(a);
System.out.println("请设置密码");
Scanner sc1 = new Scanner(System.in);
String a1 = sc.nextLine();
word=a1;
System.out.println("请输入日期");
Scanner sc11 = new Scanner(System.in);
String a11 = sc1.nextLine();
date=a11;
land();
}
public void acounnt() { //输出账户信息
System.out.println("标识符:"+characteristic+"
用户名"+name+"
开户日期"+date+"
余额"+meony);
land();
}
public void get() { //存款
System.out.println("请输入存款数额:");
int a = sc.nextInt();
meony=meony+a;
System.out.println("当前余额为:"+meony);
land();
}
public void put() { //取款
System.out.println("请输入取款数额:");
int a = sc.nextInt();
if(a>meony) {
System.out.println("余额不足!");
}
else {
meony=meony-a;
System.out.println("当前余额为:"+meony);
}
land();
}
public void password() { //修改密码
System.out.println("请输入新密码:");
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
word=a;
System.out.println("新密码为:"+word);
land();
}
public void setout() { //退出系统
System.out.println(0);
}
public static void main(String args[]) {
Zy a=new Zy();
a.land();
}
}
截图:
思路:这题没多大思路 参考了网上的代码。 首先应该注意到目的 对于存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额
这些需要达到的 利用各种类属性的调用来达到。一开始觉得比较复杂,仔细理解之后还是能弄懂的。
总结:这周学习了String类 熟悉了String类的作用以及常用操作方法 例如String类字符串的内容不可改变的特性。
总的来说 这周接触到的新知识还是很多的 ,需要一些时间理解并从而将其运用到编程解决问题中去。