• Java第四周总结+实验报告


    实验二 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。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

    实验过程

    第①题实验代码:

    package o;
    public class a
    {
        public static void main(String[] args)
        {
        	 
        	 Rectangle re = new Rectangle();
             re.get();
             double a =re.getArea();
             System.out.println(a);
             double b =re.getLength();
             System.out.println(b);
         }
     }
    
     class Rectangle {
         double width;
         double heigh;
         String color;
    
         Rectangle() {
             this.width=3;
             this.heigh=4;
             this.color="Red";
         }
    
         public void get(){
             System.out.println("rec "+this.width);
             System.out.println("higher "+this.heigh);
             System.out.println("color "+this.color);
         }
    
         public void setwidth(double single) {
             this.width=single;
         }
    
         public void setheigh(double single) {
             this.heigh=single;
         }
    
         public void setcolor(String single) {
             this.color=single;
         }
    
         public double getArea() {
             return this.width*this.heigh;
         }
    
         public double getLength(){
             return this.width*1+this.heigh*2;
         }
     }
    
    
    

    运行截图:

    第②题实验代码:

    
    package o;
    public class a
    {
        public static void main(String[] args)
        {
    	
    	 Account re = new Account("boniu","hl",2019,9,20,"123456",2000);
         re.setAll();
         re.changebalance(0.05);
         re.setAll();
         re.changepsd("123456");
         re.setAll();
                           }
                              }
    
         class Account 
         
           {
                     String ID;           
                     String psd;                
                     int year;
                     String name;          
                     double balance;         
                     int month;
                     int day;
                     
             Account()
                     {
                         this.ID="boniu";
                         this.name="null";
                         this.year=0;
                         this.month=0;
                         this.day=0;
                         this.psd="null";
                         this.balance=0;
                                              }
    
                 Account(String ID, String name, int year, int month, int day, String psd, double balance)
                 
                    {
          
                	 this.ID       =   ID;
                     this.name     =   name;
                     this.year     =   year;
                     this.month    =   month;
                     this.day      =   day;
                     this.psd      =   psd;
                     this.balance  =   balance;
                     
                      }
    public void changebalance(double single) 
                     
       {
                     this.balance += single;
                                               }
    
     public void changepsd(String single)
       {
         this.psd = single;
                                               }
    
     public void setAll()
       
     {
         System.out.println(this.ID);
         System.out.println(this.name);
         System.out.println(this.year+"."+this.month+"."+this.day);
         System.out.println("balance:"+this.balance);
                                                }
     
    }
    
    

    运行截图:

    总结

    这周所学及小拓展:

    一、java中的String类

    ①字符加密

    代码
    package o;
    import java.util.Scanner;
    public class a {
           public static void main(String args[]){
            Scanner in=new Scanner(System.in);
            System.out.print("输入字符串:");
            String str=in.next();
            int i;    
               char b[]=new char[50];           
               System.out.print("加密后为:");            
               for(i=0;i<str.length();i++)  
              {
                   b[i]=str.charAt(i);       
                   b[i]+=3;            
                   if(b[i]-'a'>25) 
                       b[i]-=26;               
                   System.out.print(b[i]); 
              } 
       }
    }
    
    运行截图

    将输入的字符串中的每个字符加3,输出,实现字串的加密,大于26的字符,减去26返回。

    ②String equals()方法

    用来判断两个对象是否一样,对其所指向的地址也能判断是否相等,而“==”判等符号只可以判断两个对象的值是否相等。

    代码
    
    public class StringEquals
     {
     
           public static void main(String[] args)
     {
           
              String s1=new String("Hello");
              String s2=new String("Hello");
              System.out.println(s1==s2);
              System.out.println(s1.equals(s2));
              String s3="Hello";
              String s4="Hello";
              System.out.println(s3==s4);
              System.out.println(s3.equals(s4));
           
       }
            }
    
    

    当分别new两个对象时,这两个对象所指向的存储地址不一样,开辟了新的存储单元,而“”只能判断值是否相等,所以第一个会输出错误,而equals()判断两个对象是否完全一样,包括值和地址,第二个输出true。当只String两个相同字符串时,这两个字符串指向的是同一个地址,即用“”和equals()都输出true。

    ③String类的一些使用说明

    CharAt() 获取指定位置字符

    Length() 取字串的长度

    GetChars() 获取制定未知的字串复制到字符串数组中。

    toUpperCase(),toLowerCase)() 大小写的转换

    trim() 去除头尾空格

    Replace() 字串替换

    toCharArray() 字符串转换为字符数组。

    小总结:这周主要是“重”做了一下上次作业的7个题目,以为能一气呵成的写下去,结果边写边出现一片一片的红叉叉。在室友的帮助下我还是完成了三个题目,为什么看别人写的代码,看得懂,自己写的时候却总是错呢?...这周的题目我觉得emmmm好像不是很难,因为我这样的菜鸡竟然都能写出碎片化的代码了,虽然最终还是靠着度娘和别人的代码填满了自己代码的窟窿吧。但我已心满意足,后面的学习过程中慢慢长进吧!

  • 相关阅读:
    [SNOI2019]数论
    2018-8-10-C#-写系统日志
    2018-8-10-C#-写系统日志
    2019-3-1-C#-double-好用的扩展
    2019-3-1-C#-double-好用的扩展
    2019-8-31-dotnet-Framework-源代码-·-Ink
    2019-8-31-dotnet-Framework-源代码-·-Ink
    2019-8-31-How-to-fix-nuget-Unrecognized-license-type-MIT-when-pack
    2019-8-31-How-to-fix-nuget-Unrecognized-license-type-MIT-when-pack
    2018-9-30-C#-传入-params-object-长度
  • 原文地址:https://www.cnblogs.com/Duya9ian/p/11553450.html
Copyright © 2020-2023  润新知