第四周

Java实验报告
班级 计科二班 学号 20188440 姓名 黄诗荣
完成时间
评分等级
实验二 Java简单类与对象
一、实验目的
(1) 掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
(2) 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
(3) 理解static修饰付对类、类成员变量及类方法的影响。
二、实验内容

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

1,

public class Rectangle {
	private  double width;
	private  double height;
    private  String color;
     public void tell() {
    	 System.out.print("面积是"+(width*height)+"\n"+"周长是"+2*(width+height)+"\n");
    	 System.out.println("高为"+height);
    	 System.out.println("宽为"+width);
    	 System.out.println("颜色为"+color);
     }
    public String getColor(){
    	return color;
    }
    public void setColor(String n){
    	color=n;
    }
    public double getWidth(){
    	return width;
    }
    public void setWidth(double a){
    	width=a;
    }
    public double getHeight() {
    	return height;
    }
    public void setHeight(double b) {
    	height=b;
    }
}
public class fff{

	public static void main(String arge[]) {
		Rectangle r1=new Rectangle();
		r1.setColor("黄色");
		r1.setHeight(20);
		r1.setWidth(10);
		r1.tell();
		
	}
}

结果

2,

package First;
import java.util.Scanner;
public class fff{
        private String name,date="2019.9.20";                      
        private int mima=123456,money=0;   
        private String ccount="jayking";
            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 int getMima() {
                return mima;
            }
            public void setMima(int mima) {
                this.mima = mima;
            }
            public int getMoney() {
                return money;
            }
            public void setMoney(int money) {
                this.money = money;
            }
            public String getCcount() {
                return ccount;
            }
            public void setCcount(String ccount) {
                this.ccount = ccount;
            }
            public void username(){                   
                System.out.print("请输入用户名字:");
                Scanner username = new Scanner(System.in);
                String name = username.nextLine();
                setName(name);
            }
            public void ChangePWD(){                    
                System.out.print("请输入需要修改的密码:");
                Scanner usermima = new Scanner(System.in);
                int mima = usermima.nextInt();
                setMima(mima);
            }
            public void all(){                                    
                System.out.print("用户名:"+name+"\n开户日期:"+date+"\n账号:"+ccount+"\n密码:"+mima+"\n余额:"+money+"\n");
            }
            public void Depositsandwithdrawals(){
                System.out.print("存款:1\n"+"取款:0\n");
                System.out.print("请选择:");
                Scanner a = new Scanner(System.in);
                int b = a.nextInt();
                if(b==0) {
                System.out.print("取款数:");
                Scanner usermoney = new Scanner(System.in);
                int money = usermoney.nextInt();
                money=this.money-money;      
                setMoney(money);
                }
                else {
                System.out.print("存款数:");
                Scanner usermoney = new Scanner(System.in);
                int money = usermoney.nextInt();
                money=this.money+money;            
                setMoney(money);
                }
            }
            public static void main(String[] args) {
                System.out.print(" Welcome\n");
                System.out.print("进入系统请按:1\n");
                System.out.print("请选择输入的序号:");
                Scanner a = new Scanner(System.in);
                int A = a.nextInt();
                int B=0;
                fff user = new fff();
                for(int k=1;k>0;) {
                    if(A==1||B==1) {
                        System.out.print("开户:1\n"+"更改密码:2\n"+"查询信息:3\n"+"存款取款:4\n");
                        System.out.print("请输入你需要办理的业务序号:");
                        Scanner q = new Scanner(System.in);
                        int Q = q.nextInt();
                        if(Q==1) {
                            user.username();
                        }else if(Q==2){
                            user.ChangePWD();
                        }else if(Q==3){
                            user.all();
                        }else if(Q==4){
                            user.Depositsandwithdrawals();
                        }
                        System.out.print("返回菜单:1\n"+"退出服务:9\n");
                        System.out.print("请输入序号:");
                        Scanner b = new Scanner(System.in);
                        B = b.nextInt();
                        A=0;
                    }else{
                        break;
                }
              }
                System.out.print("已退出,感谢您的使用,欢迎下次光临!");
            }   
        }

运行结果:

这道题我的思路是:
首先写一个类,定义所需要的那些属性,使用构造函数完成各属性的初始赋值,再对各个属性构造新的函数针对不同的要求所需要的操作;
针对客户的操作,我们首先设置一个死循环,只有当客户输入非我们设计的值时和特定的值跳出循环,对于客户的几项操作,用不同的值来表示,根据客户的要求,调用不同的构造函数,来解决客户的要求,在每一次完成客户的要求后输出客户的基本信息;

这周总结如下:
1.本周学习了String类,了解了实例化String类对象的两种方式:
(1)直接为string类赋值,其所有的对象共用一个地址。
(2)调用String类中的构造方法进行实例化,其开辟了多个空间;String类中的字符串内容不可修改;符号”==“比较的是对象的地址;equals()方法比较的是对象的内容;

2.学了对像数组,对象数组指包含了一组相关的对象;
数组一定要先开辟空间因其是应用数据类型使用时每一个对象必须分别进行实例化操作,格式为:类 对象数组名称[]=new 类[数组长度];
3.了解了包的概念及使用:package在多个接口或类时,避免名称重复的措施;

posted @ 2019-09-20 20:02  hshsr  阅读(121)  评论(0编辑  收藏  举报