java实验报告五

1.实验名称 类与对象(1)

2.实验目的(1)学会类的实现、类的使用和用UML类图描述类之间的关系,能够对实际的案例进行分析和建模,并画出类图。(2)能够根据类图进行编码实现。(3)理解构造方法的概念和重载的概念,能在程序设计中灵活应用。(4)巩固数组在面向对象程序设计中的运用;

3.训练知识点集群(1)类的语法(类的成员变量和成员方法、构造方法、成员变量的getter、setter方法等)(2)类图(单个类的类图和类之间的关系)(3)使用数组构造线性表

4.实验内容(1)计算某长方体或正方体盒子的体积(2)课程融合之线性表(3)定义一个类MyArrayList,用数组模拟实现数据结构中线性表的基本功能,该类中最少包含的属性有:data(String[])、size(int)、CAPACITY(int);(4)该类中方法最少包括线性表的初始化、插入 、查找、遍历线性表、删除、返回线性表长度、线性表判空、清空线性表、替换、获取元素、判断线性表中是否包含某个元素、反向查找、末尾插入元素;定义一个主类,在主方法中创建线性表类对象并调用上述方法、完成功能演示。

一 计算某长方体或正方体盒子的体积:

package TestPillar;
import  java.util.Scanner;
class square{
    private float r;
    public square(float r){
        this.r=r;
    }//若用无参构造函数则需要使用setR和getR函数。
    public float Area(){
        return  r*r;
    }
}
class Pillar{
    private square bottom;
    private float height;
    public Pillar(square bottom,float height){
        this.bottom=bottom;
        this.height=height;
    }
    public float Volume(){
        return bottom.Area()*height;
    }
}
public class TestPillar{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入正方形的半径");
        float r=sc.nextFloat();
        square c=new square(r);
        System.out.println("请输入柱体的高");
        r = sc.nextFloat();
        Pillar p=new Pillar(c,r);
        System.out.println(p.Volume());
    }
} 

二 课程融合之线性表:

package MyArrayList;
import  java.util.Scanner;
class MyArrayList {
    //成员变量
    public final int CAPACITY = 100; //线性表的长度
    private String[] data = new String[CAPACITY];
    private int size = 0;  //线性表里实际存放的数据长度
    //用字符串数组构造线性表
    public MyArrayList(int size) {
        this.size=size;
        Scanner sc2=new Scanner(System.in);
        for(int i=0; i<size; i++) {
            data[i]=sc2.next();
        }
    }
    //遍历输出线性表中的所有元素 格式:{张三,李四,王五}
    public void printAll() {
        System.out.print("{");
        for(int i=0; i<size; i++) {
            System.out.print(data[i]);
            if(i<size-1) {
                System.out.print(",");
            }
        }
        System.out.print("}");
    }
    //返回当前线性表中的元素个数
    public int size() {
        System.out.println(size);
        return size;
    }
    //将一个新元素e插入到线性表中索引号为Index的位置
    public void add(int index, String e) {
        for(int i=size-1; i>=index; i--) {
            data[i+1] = data[i];
        }
        data[index] = e;
        size++;
    }
    //将一个新元素e添加到表尾,只有一个参数,只提供了插入的元素,没有提供位置,默认插入到最后
    public void add(String e) {
        add(size, e);
    }
    //从线性表中删除指定位置index的元素,并将删除的元素返回
    public void remove(int index) {
        String e = data[index];
        for(int i=index; i<size-1; i++) {
            data[i] = data[i+1];
        }
        data[size-1] = null;
        size--;
        System.out.println(e);
    }
    //清空线性表
    public void clear() {
        data = new String[CAPACITY];
        size = 0;
    }
    //查找
    public void Search(String e){
        int i;
        for( i=0;i<size;i++){
            if(data[i].equals(e)){
                System.out.println(i);
            }
        }
    }

    //交替
    public void replace(int i,int j){
        String e;
        e=data[i];
        data[i]=data[j];
        data[j]=e;
    }
    //判空
    public void isEmpty(){
        if(size==0)
            System.out.println("yes");
        else
            System.out.println("no");
    }
    //获取元素
     public void get(int i){
         System.out.println(data[i]);

    }
    //判断是否有某个元素
     public boolean panduan(String e){
        int i;
        for(i=0;i<size;i++){
            if(data[i].equals(e)){
                return true;

            }
        }return false;

    }
     //反向查找
     public void hcraeseR(String e){
         int i;
         for(i=size-1;i>=0;i--){
             if(data[i].equals(e)){
                 System.out.println(i);}


         }
    }
}
 public  class TestArrayList{
     public static void main(String[] args) {
         System.out.println("请输入实际数据长度与各个元素的值");
         Scanner sc1=new Scanner(System.in);
         int size=sc1.nextInt();
         MyArrayList data=new MyArrayList(size);
         System.out.println("遍历输出线性表");
         data.printAll();
         System.out.println("输出线性表的长度");
         data.size();

         System.out.println("将一个新元素e插入到线性表中索引号为Index的位置");
         String e=sc1.next();
         int index=sc1.nextInt();
         data.add(index,e);
         data.printAll();

         System.out.println("将一个新元素e添加到表尾,只有一个参数,只提供了插入的元素,没有     
提供位置,默认插入到最后");
         e=sc1.next();
         data.add(e);
         data.printAll();


         System.out.println("从线性表中删除指定位置index的元素,并将删除的元素返回");
         index=sc1.nextInt();
         data.remove(index);
         data.printAll();

         System.out.println("查找");
         e=sc1.next();
         data.Search(e);

         System.out.println("交替");
         index=sc1.nextInt();
         int j=sc1.nextInt();
         data.replace(index,j);
         data.printAll();

         System.out.println("获取元素");
         j=sc1.nextInt();
         data.get(j);
         System.out.println("判断是否有某个元素");
         e=sc1.next();
         data.panduan(e);
         System.out.println(data.panduan(e));

         System.out.println("反向查找");
         e=sc1.next();
         data.hcraeseR(e);

         System.out.println("清空线性表");
         data.clear();
         System.out.println("判空");
         data.isEmpty();
     }
}

TestArrayList类最后用which语句更好。

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实验1 Java语言基础 4 一、实验目的 4 二、实验要求 4 三、实验内容 4 (一) 声明不同数据型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符和逻辑运算符 5 (四) 使用表达式语句与复合语句 6 () 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 一、实验目的 11 二、实验要求 11 三、实验内容 11 (一)创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编写显示当前日期和时间的程序 13 (四)使用修饰符 14 ()方法参数传递 15 (六)的继承性 16 (七)的多态性 18 实验3 包、接口与异常处理 22 一、实验目的 22 二、实验要求 22 三、实验内容 22 (一)了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 (四)了解异常处理机制 25 实验4 常用系统的使用 27 一、实验目的 27 二、实验要求 27 三、实验内容 27 (一)了解 Applet 的生命周期 27 (二)使用数学函数 28 (三)使用日期 29 实验5 建立图形用户界面 32 一、实验目的 32 二、实验要求 32 三、实验内容 32 (一)创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名 36 (四)使用 Swing 组件 39 ()使用自定义对话框与内部 41 实验6 图形处理 44 一、实验目的 44 二、实验要求 44 三、实验内容 44 (一)使用图形 Graphics 44 实验7图形处理(二) 47 一、实验目的 47 二、实验要求 47 三、实验内容 47 (一)幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流与文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件的应用程序 54 (四)使用数据输入输出流与文件输入输出流的应用程序 55 ()使用对象输入输出流的应用程序 56 实验9 线程 58 一、实验目的 58 二、实验要求 58 三、实验内容 58 (一)Thread子的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 一、实验目的 61 二、实验要求 61 三、实验内容 61 (一)配置ODBC数据源 61 (二)编写程序,按照下表的结构建立"student"表 61 (三)编写程序,完成填写功能 62 (四)编写程序,完成查询功能 62

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值