第四周课程总结&试验报告(二)

实验二 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+"\n用户名"+name+"\n开户日期"+date+"\n余额"+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类字符串的内容不可改变的特性。
总的来说 这周接触到的新知识还是很多的 ,需要一些时间理解并从而将其运用到编程解决问题中去。

posted on 2019-09-20 19:06  不负  阅读(108)  评论(0编辑  收藏  举报

导航