zoukankan      html  css  js  c++  java
  • 第四周课程总结&实验报告二

    第四周课程总结&实验报告二

    第四周课程总结

    不知不觉java课程已经上到第四周了。先来说说本周在课内课外的收获吧:本周更加什么的i奥杰了Java的封装性和getter、setter方法。还学习了构造方法和构造函数,构造方法要与类名称相同,没有返回值类型申明,还学习了string类的一些知识,比如书本上的一个String类的常用操作方法表,还有两种”等于“的区别,==是比较地址,equals是比较内容,我个人觉得equals比较稳妥,本周作业就遇到了类似的问题,输入的操作字符地址不一样导致账户中的输入密码不一样。还有this、static关键字,还有对象数组。static类的方法可以直接调用,this方法要带this关键字。这些知识挺晦涩的。弄了半天都没弄懂,做题的时候还是一团糟。本周作业挺难的,花了巨多时间。相关资料

    对象数组的声明
    先定义,再开辟空间
    类名称 对象数组名[] = null; 对象数组名 = new 类名称[长度];
     定义并开辟数组
    类名称 对象数组名[] = new 类名称[长度
    在声明对象数组后 ,必须对每个数组成员进行实例化话 才能直接使用,否则报空指针异常!
    

    String 对象描述
    字符串是 JavaScript 的一种基本的数据类型。
    String 对象的 length 属性声明了该字符串中的字符数。
    String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
    需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的>是全新的字符串,而不是修改原始字符串。
    在较早的 Netscape 代码基的 JavaScript 实现中(例如 Firefox 实现中),字符串的行为就像只读的字符数组。例如,从字符串 s 中提取第三个字符,可以用 >s[2] 代替更加标准的 s.charAt(2)。此外,对字符串应用 for/in 循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript 标准规定,不能枚举 >length 属性)。因为字符串的数组行为不标准,所以应该避免使用它。
    String类知识点

    实验报告:

    实验二 Java简单类与对象

    实验目的
    掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
    理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
    理解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.rectangle

    源代码:

    package test;
    
    class Rectangle{
    	private String color;
    	private double width;
    	private double height;
    	
    	
    	public Rectangle(String color,double width,double height){
    		this.setColor(color);
    		this.setWidth(width);
    		this.setHeight(height);
    	}
    	public void talk(){
    		System.out.println("宽:"+getWidth()+"高:"+getHeight());
    		System.out.println("面积:"+getArea()+" 周长:"+getLength());
    		System.out.println("颜色:"+getColor());
    	}
    	public double getWidth(){
    		return width;
    	}
    	public void setWidth(double width){
    		this.width=width;
    	}
    	public double getHeight(){
    		return height;
    	}
    	public void setHeight(double height){
    		this.height=height;
    	}
    	public String getColor(){
    		return color;
    	}
    	public void setColor(String color){
    		this.color=color;
    	}
    	public double getArea(){
    		double getArea=getWidth()*getHeight();
    		return getArea;
    	}
    	public double getLength(){
    		double getLength=(getWidth()+getHeight())*2;
    		return getLength;
    	}
    	
    }
    public class Rectangle2 {
    	public static void main(String[]arge){
    		Rectangle per;
    		per=new Rectangle("red",10,12);
    	    per.talk();
    		
    	}
    
    }
    

    实验截图:

    2.account

    源代码:

    
    package test;
    import java.util.Scanner;
    import java.util.Date;
    import java.util.*;
    class Account{
    	private String sign;
    	private String id;
    	private Date date;
    	private String password;
    	private double savedMoney;
    	
    
    	public Account(String password,String id,String sign,double savedMoney){
    		this.sign="abcdef12345";
    		this.id="Lwx";
    		this.date=new Date();
    		this.password="123456";
    		this.savedMoney=0.0;
    	}
    	
    
    	public void setSign(String sign) {
    		this.sign=sign;
    	}
    	
    	public String getSign() {
    		return sign;
    	}
    
    
    	public Date getDate() {
    		return date;
    	}
    
    
    	public void setDate(Date date) {
    		this.date = date;
    	}
    
    
    	public String getPassword() {
    		return password;
    	}
    
    
    	public void setPassword(String password) {
    		this.password = password;
    	}
    
    
    	public String getId() {
    		return id;
    	}
    
    
    	public void setId(String id) {
    		this.id = id;
    	}
    
    
    	public double getSavedMoney() {
    		return savedMoney;
    	}
    
    
    	public void setSavedMoney(double savedMoney) {
    		this.savedMoney=savedMoney;
    	}
    	
    	public void saveAndGet(){
    		System.out.println("1.存款 "+"
    "+"2.取款");
    		Scanner sc=new Scanner(System.in);
        	double number=sc.nextInt();
        	if(number==1) {
        		System.out.println("您的余额为:"+getSavedMoney()+"元");
        		System.out.println("请输入存入的金额:");
        		double money1=sc.nextDouble();
        		setSavedMoney(getSavedMoney()+money1); 
        		System.out.println("succeed,当前余额为:"+getSavedMoney()+"元");
        	}
        	else if(number==2) {
        		System.out.println("您的余额为:"+getSavedMoney()+"元");
        		System.out.println("请输入取出的金额:");
        		double money2=sc.nextDouble();
        		setSavedMoney(getSavedMoney()-money2); 
        		System.out.println("succeed,当前余额为:"+getSavedMoney()+"元");
        	}
    	}
    	
    	public void changePassword(){
    		System.out.println("输入密码:");
    		Scanner sc=new Scanner(System.in);
    		String x = sc.nextLine();
    		if(x.equals(getPassword())) {
    		System.out.println("设置新密码:");
        	Scanner ja=new Scanner(System.in);
        	String password1 = ja.nextLine();
        	System.out.println("请确认密码是否有误:");
        	String password2 = sc.nextLine();
        	if(password1.equals(password2)) {
        		setPassword(password1);
        		System.out.println("操作成功,新密码:"+getPassword());
        	}
        	else {
        		
        		System.out.println("两次输入密码不同!");
        		
        	}}
    		else {
    			System.out.println("密码错误!");
    		}
    		
    	}
    	
    
    
    
    public void checkInfo() {                        
    	System.out.println("输入密码查询信息:");
    	Scanner sc=new Scanner(System.in);
    	String s = sc.nextLine();
    	if(s.equals(getPassword())) {
    		 System.out.println("标识:"+getSign());
    		 System.out.println("姓名:"+getId());
    		 System.out.println("余额:"+getSavedMoney()+"元");
    		 System.out.println("开户日期:"+getDate());
    	}
    	else {
    		 System.out.println("您的密码错误");
    	}
    }
    
    public static void main(String[] args) {
    	boolean Y=true;
    	Account Ac=new Account("123456","LWX","abcdef12345",0.0);
    		
    	while(Y) {
    	System.out.println("1.取款存款");
    	System.out.println("2.修改密码");
    	System.out.println("3.查询信息");
    	System.out.println("4.退出");
    	System.out.println("请输入下一步操作的数字:");
    	Scanner sc=new Scanner(System.in);
        int b=sc.nextInt();
        if(b==1) {
        	Ac.saveAndGet();
        }
        else if(b==2) {
        	Ac.changePassword();
        }
        else if(b==3) {
        	Ac.checkInfo();
        }
        else if(b==4) {
            System.out.println("退出系统!");
        }
    }
    
    }
    }
    
    

    遇到的问题:老是无法进入我所构建的方法中,还有总是输入密码错误。

    解决方法:我吧获取时间的date弄进了实例化中去了,我把他删了就好了,密码错误问题,我吧==换成equals就好了。
    实验截图:

  • 相关阅读:
    Windows10字体模糊解决方法
    Synaptics触摸板在Windows10下双击弹出右键菜单无效的解决方法
    JDBC连接字符串及参数
    IntelliJ IDEA数据库工具连接MySQL提示Download missing driver files
    IntelliJ IDEA利用数据表生成JavaBean
    Windows下MySQL8.0的配置文件及数据库的默认目录
    MySQL配置说明
    (medium)LeetCode 221.Maximal Square
    (medium)LeetCode 222.Count Complete Tree Nodes
    (medium)LeetCode 224.Basic Calculator
  • 原文地址:https://www.cnblogs.com/LfanWyuXooo/p/11559256.html
Copyright © 2011-2022 走看看