java实验:计算长方体的体积+线性表的操作

目录

前言

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

 1.实验思路

2.实验代码

  3.实验结果截图

二、线性表

1.实验内容

2.实验思路

3.实验代码

4.实验结果截图

总结


前言

再次进行java实验,计算体积和线性表相关的操作


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

 1.实验思路

这一节主要学习了类的实现和使用,所以创建一个rectange(长方体)类,在类中创建两个变量a,b表示底边的边长,用set/get方法将其初始化,再定义一个getArea用来表示a,b的乘积,在定义一个方法用来表示和计算盒子的体积(即底面积和高的乘积),最后在main方法中创建一个rectange的对象c,通过调用对象c的setA方法来设置盒子的长宽高,并通过对象c的volume方法来计算体积,并输出结果

2.实验代码


//长方体或正方体的体积
import java.util.Scanner;
public class rectangle {
    private float a;
    private float b;
    Scanner sc =new Scanner(System.in);
    //构造方法
    public rectangle(){}
    public rectangle(float a,float b){
        this.a=a;
    }
    //set/get方法
    public void setA(float a,float b) {
        this.a = a;
        this.b = b;
    }

    public float getA(){

        return a;
    }

    public float getB(){

        return b;
    }

    public float getArea(){

        return a*b;
    }

}
public class volume {
    private rectangle bottom;
    private float height;
    //无参构造,全参构造
    public volume(){}
    public volume(rectangle bottom,float height){
        this.bottom=bottom;
        this.height=height;
    }
    public float getVolume(){
        return bottom.getArea()*height;
    }
}
public class testvolume {

    public static void main(String[] args){
        //创建对象
        rectangle c = new rectangle();
        Scanner sc =new Scanner(System.in);
        c.setA(sc.nextInt(),sc.nextInt());

        c.getArea();
        //构造长方体
        volume v = new volume(c,sc.nextInt());
        System.out.println(v.getVolume());

    }

}

  3.实验结果截图

 如上图所示,一个长宽高为2的盒子的体积就被计算出来了。

二、线性表

1.实验内容

定义一个类MyArrayList,用数组模拟实现数据结构中线性表的基本功能,该类中最少包含的属性有:data(String[])、size(int)、CAPACITY(int);

该类中方法最少包括线性表的初始化、插入 、查找、遍历线性表、删除、返回线性表长度、线性表判空、清空线性表、替换、获取元素、判断线性表中是否包含某个元素、反向查找、末尾插入元素;

 定义一个主类,在主方法中创建线性表类对象并调用上述方法、完成功能演示。

2.实验思路

构造方法,用字符数组构建线性表,通过遍历线性表来完成插入查找删除等操作并输出操作的结果

3.实验代码

import java.util.Scanner;
public class arrylist {
    //成员变量
    public final int CAPACITY=100;//线性表的长度
    private String [] data=new String[CAPACITY];
    private int size=0;//线性表里实际存放的长度
    //构造方法
    public arrylist(){}
    //用字符串数组构建线性表
    public  arrylist(String[] s){
        for (int i=0;i< data.length;i++){
            data[i]=s[i];
        }
        size = s.length;
    }

    //遍历输出线性表中的所有元素 格式:(张三,李四,王五)
    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(){
        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  String 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--;
        return e;
    }

    //清空线性表
    public void clear(){
        data=new String[CAPACITY];
        size=0;
    }

    //判断线性表中是否包含某种元素
    public void baohan(String b){
        int c=0;
        for (int i=0;i<size;i++){
            if(data[i].equals(b)){
                c++;
            }
        }if(c!=0){
            System.out.println("yes");
        }else System.out.println("no");
    }
}
public class testarrylist {


        public static void main(String[] args) {
            //TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            arrylist arr = new arrylist();
            arr.add(0, "sun");
            //arr.printAll();
            arr.add("li");
            arr.add("cheng");
            arr.add(1, "hua");
            arr.printAll();
            System.out.println("");
            System.out.println(arr.size());
            arr.remove(0);
            arr.printAll();
            System.out.println("");
            arr.baohan(sc.next());
            arr.printAll();
            System.out.println("");
            arr.clear();
            arr.printAll();
        }



}

4.实验结果截图

虽然看起来结果很短,实际上已经把线性表的初始化,遍历,插入,删除,查找,返回长度,清空等操作都进行过了。

补:线性表的类图

 


总结

这就是本次实验的全部内容了,主要运用了类的语法和数据结构构造线性表来完成。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值