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

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

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

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

一:实验代码

class Rectangle  {
            private double height;
            private double width;
            private String color;
            public Rectangle(){

            }
            public Rectangle(double width,double height,String color){
            this.setColor(color);
            this.setHeight(height);
            this.setWidth(width);
            }
            public void setHeight(double height) {
                this.height = height;
                }
            public void setWidth(double width) {
                this.width = width;
                }
            public void setColor(String color) {
                this.color = color;
                }
            public double getHeight() {
            return height;
            }

            public double getWidth() {
            return width;
            }

            public String getColor() {
            return color;
            }

            public double getArea(){
                double area;
            area=this.height*this.width;
                return area;
            }
            public double getLength(){
                     double length;
                     length=width+height+width+height;
                     return length;
            }
              };

            public class Demo {
            public static void main(String args[]) {
                Rectangle rec=null;
            rec=new Rectangle(3.0f,4.0f, "红色");
            System.out.println(rec.getArea());
            System.out.println(rec.getLength());
            System.out.println("长:"+rec.getHeight());
            System.out.println("宽:"+rec.getWidth());
            }
            }

二:运行截图

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

package test;

import java.util.Scanner;
class Account{
  private String id;
  private String name;
  private int time,password;
  private double money;
  public Account(){
}
  public Account(String id,String name,int time,int password,double money){
  this.setId(id);
  this.setName(name);
  this.setTime(time);
  this.setPassword(password);
  this.setMoney(money);
}
 public void setId(String s){
  id=s;
}
 public void setName(String n){
  name=n;
}
 public void setTime(int m){
  time=m;
}
public void setPassword(int e){
  password=e;
}
public void setMoney(double c){
  money=c;
}
public String getId(){
  return id;
}
public String getName(){
  return name;
}
public int getTime(){
  return time;
}
public int getPassword(){
  return password;
}
public double getMoney(){
  return money;
}
public void showup(){
 System.out.println("账户名:"+id);
 System.out.println("姓名:"+name);
 System.out.println("开户时间:"+time);
 System.out.println("账户密码:"+password);
 System.out.println("账户余额:"+money);
}
public void qukuan(){
 while(true){
 Scanner sc =new Scanner(System.in);
 System.out.println("请输入密码:");
 int pass = sc.nextInt();
 if(pass==password){
 System.out.println("取款金额:");
 int sum = sc.nextInt();
 if(sum<=money){
 money=money-sum;
System.out.println("余额:"+money);
}
    else{
  System.out.println("余额不足,请重新输入金额");
}
break;
}
else
{
System.out.println("密码错误,请再次输入");
}
}
}
public void cunqian(int balance){
 money=money+balance;
 System.out.println("存入金额:"+balance);
 System.out.println("余额:"+money);
}
public static void main(String agrs[]){
Account acc =new Account("chenxin0527","陈新",19990527,123456,0);
Scanner sc = new Scanner(System.in);
System.out.println("您需要的服务种类:");
System.out.println("1:账户基本信息");
System.out.println("2:取款");
System.out.println("3:存款");
System.out.println("4:密码服务");
System.out.println("5:退出");
int g = sc.nextInt();
switch(g){
case 1:
    System.out.println("账户基本信息");
     acc.showup();

case 2:
   System.out.println("取款");
   acc.qukuan();
case 3:
   System.out.println("存款");
    acc.cunqian(0);

case 4:
case 5:
    System.exit(0);
 break;
}
}
}

二:实验截图


三:问题所在
在该题目中出现了很多细节问题比如1:在输入的时候只能输入一次就会停止运行程序。2:在存钱时我的那个方法我定义了一个balance之后调用该方法的括号中必须加入数值才不会报错,所以导致接下来不管是存钱还是取钱都只有括号中数值的金额,所以导致后面的步步都是错的。3:该代码我的密码服务还没有加入,我还不知道怎么加入,有待加强!

四、总结
1、本周说的东西虽然在课堂上有掌握,但在课后自己又是一头雾水,让我觉得左右都是对的;
2、String关键字、StringBuffer类,了解StringBuffer的方法;
3、包的概念及使用,利用package解决问题;
4、import语句的使用.

我写作业的时候就是这个样子的,我到底该选谁了,就跟方法一样我用哪一个,我选了之后又该怎么用了???

02-12 08:01