联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2018-04-28 09:37

实验三:java面向对象编程

一、实验目的及要求

1、理解 Java 语言是如何体现面向对象编程基本思想的;

2、掌握类的声明以及对象的创建;

3、了解类的成员变量和成员方法的特性以及类的构造方法的使用。

4、掌握类变量与实例变量以及类方法和实例方法的区别。

二、实验内容

1、编写程序模拟两个村庄共同拥有一片森林。编写一个Village类,该类有一个静态的int型成员变量treeAmount用于模拟森林中树木的数量。在主类MainClass的方法中创建两个村庄,一个村庄改变了treeAmount的值,另一个村庄查看treeAmount的值。程序模板如下,将【代码】替换为java程序代码。

要求:编译 、运行该程序 ,并将补充完整后的源程序以及程序的输出结果写在实验报告中。

MainClass.java

public class MainClass {  

  public static void main(String args[]) {

      Village zhaoZhuang,maJiaHeZhi;

      zhaoZhuang = new Village("赵庄");

      maJiaHeZhi = new Village("马家河子");

      zhaoZhuang.peopleNumber=100;

      maJiaHeZhi.peopleNumber=150;

      【代码1】 //用类名Village访问treeAmount,并赋值200

      int leftTree =Village.treeAmount;

      System.out.println("森林中有 "+leftTree+" 颗树");

     【代码2】//zhaoZhuang调用treePlanting(int n),并向参数传值50

      leftTree =【代码3】//maJiaHeZhi调用lookTreeAmount()方法得到树木的数量

      System.out.println("森林中有 "+leftTree+" 颗树");

      【代码4】maJiaHeZhi调用fellTree(int n),并向参数传值70

      leftTree = Village.lookTreeAmount();

      System.out.println("森林中有 "+leftTree+" 颗树");

      System.out.println("赵庄的人口:"+zhaoZhuang.peopleNumber);

      zhaoZhuang.addPeopleNumber(12);

      System.out.println("赵庄的人口:"+zhaoZhuang.peopleNumber);

      System.out.println("马家河子的人口:"+maJiaHeZhi.peopleNumber);

      maJiaHeZhi.addPeopleNumber(10);

      System.out.println("马家河子的人口:"+maJiaHeZhi.peopleNumber);

   }

}

Village.java

class Village {

static int treeAmount;     //模拟森林中树木的数量

int peopleNumber;       //村庄的人数

String name;            //村庄的名字

Village(String s) {

name = s;

}

void treePlanting(int n){

treeAmount = treeAmount+n;

System.out.println(name+"植树"+n+"颗");

}

void  fellTree(int n){

if(treeAmount-n>=0){

treeAmount = treeAmount-n;

System.out.println(name+"伐树"+n+"颗");

}

else {

System.out.println("无树木可伐");

}

}

static int lookTreeAmount() {

return treeAmount;

}

void addPeopleNumber(int n) {

peopleNumber = peopleNumber+n;

System.out.println(name+"增加了"+n+"人");

}

}


2、编程创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length)、宽(width)和高(heigth),再定义一个方法void setBox(int l, int w, int h) 对这三个变量进行初始化,然后定义一个方法int volume ()来计算长方体的体积。最后,在主类KY3_2的main()方法中创建一个Box类的对象b,首先通过调用对象b的setBox()方法来设置长方体的长、宽和高,再通过调用对象b的volume() 方法来计算这个给定尺寸的长方体的体积,并输出这个结果。  

要求: 将程序的源代码、运行结果写在实验报告上。


3、编写一个java应用程序main,在主类的main方法中声明用于存放产品数量的int型变量amount和产品单价的float型变量price,以及存放全部产品总价值float型变量sum。使用Scanner对象调用方法让用户从键盘为amount, price变量输入值,然后程序计算出全部产品总价值,并输出amount, price的值。(代码模板如下,将【代码】替换为java程序代码)可参看教材P30上机实践。


import java.util.Scanner;

public class KY3_3 {

  public static void main(String args[]) {

     Scanner reader=new Scanner(System.in);  

     int amount =0 ;  

     float price=0,sum=0;

     System.out.println("输入产品数量(回车确认):");

     【代码1】 //从键盘为amount赋值

     System.out.println("输入产品单价(回车确认):");

     【代码2】 //从键盘为price赋值

     sum = price*amount;

     System.out.printf("数量:%d,单价:%5.2f,总价值:%5.2f",amount,price,sum);

  }

}

4、建立 KY3_4.java 文件,通过本程序了解变量的使用范围,源代码如下。

    public class KY2_2 {

    static int i=10;

      public static void main(String args[]) {

           {

               int k=10;

               System.out.println("i="+i);

               System.out.println("k="+k);

            }

         System.out.println("i="+i);

         System.out.println("k="+k);          

        }

      }

 要求:

1)编译 KY2_2.java  看看这个程序是否会出错?为什么会出现编译错误,请在试验报告中给出理由!

2)修改上面的程序,让它能正确运行。

3)把修改后的源程序以及程序的输出结果写在实验报告中。

    思考:该程序说明了什么问题?  

三、实验设备与环境

windows7及以上系统,安装eclipse+JDK

四、实验过程和结果

五、实验总结


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp