• 这次的课堂实验比较简单,但尴尬的是竟然没有做出来,自己的代码能力下降了不少。IDEA的Junit测试出了问题。所以这次实验是和结对伙伴结对编程写的。
public class Bag<T> implements Baginterface<T> {

    private ArrayList<T> mArraylist = new ArrayList<>();

    @Override
public int getCurrentSize() {
return mArraylist.size();
} @Override
public boolean isEmpty() { if (mArraylist.size()==0){
return false;}
else
return true;
} @Override
public boolean add(T newEntry) { mArraylist.add(newEntry); return false; } @Override
public T remove() {
if (mArraylist!=null) {
mArraylist.remove(mArraylist.size() - 1);
return null;
}
else{
return null;}
} @Override
public boolean remove(T anEntry) { mArraylist.remove(anEntry); return false;
} @Override
public void clear() {
mArraylist.clear();
} @Override
public int getFrequencyOf(T anEntry) {
if (mArraylist.contains(anEntry)==true){
return 0;}
else return 1;
}
public void getFrenquency(T anEntry){ if (getFrequencyOf(anEntry)==0){
System.out.println("Bag has it");
}
else
System.out.println("Bag doesn't have it"); } @Override
public boolean contains(T anEntry) { return false;
}
}

根据接口类Baginterface的抽象方法,Bag类应该实现以下方法:

  • getCurrentSize():得到Bag里面元素的个数
  • isEmpty():检测Bag是否为空
  • add():向Bag里面添加元素
  • remove():移除Bag中的指定元素
  • clear():移除Bag中的所有元素
  • getFrequencyOf():检查某个元素在Bag中出现的次数
  • contains():检查某个元素是否存在于Bag中

课堂实验-Bag的更多相关文章

  1. 课堂作业-Bag类的实现

    课堂作业-Bag类的实现 要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进 ...

  2. 课堂实验-模拟实现Sort

    课堂实验 模拟实现Linux下Sort -t : -k 2的功能.参考 Sort的实现. 代码如下: /** * Created by Administrator on 2017/5/20. */ i ...

  3. 课堂实验-String类和Arrays类

    课堂实验 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arrays类 sort binarySea ...

  4. 【课堂实验】Arrays和String单元测试

    实验内容 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arrays类 sort binarySea ...

  5. Oracle课堂实验一“表的使用”代码。

    --创建本地管理表空间CustomerTBSCREATE TABLESPACE CustomerTBS         DATAFILE 'd:\Oracle11\product\11.2.0\ora ...

  6. Java的课堂实验

    题目是:用Aplet创建一个小程序,使得当你的鼠标经过图片时,放歌~ 其中,补充知识:1.MouseMotionListener这个和MouseListener这两个监听器要了解以下 2.Aplet这 ...

  7. 关于Java课堂实验中的一些总结(Scanner)

    import java.util.Scanner; 这个头文件是java里面用来输入东西的,就相当于c++里面的iostream输入流...?暂且这么理解吧 然后使用方法:Scanner in = n ...

  8. 20145202马超《java》【课堂实验】P98测试

    当时在加水印所以没来得及提交,然而我回宿舍第一时间就提交了,希望老师额能够看到

  9. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

随机推荐

  1. Let's Encrypt 免费通配 https 签名证书 安装方法

    安装环境 centOs7 主要通过 acme.sh (bash脚本)来注册签名 git地址:https://github.com/Neilpang/acme.sh 申请证书流程 1.申请证书-> ...

  2. Vue修改mint-ui默认样式(默认风格)

    加入my-mint.css 我这里用的postcss的变量定义,如果亲们用的是其他预处理器,要改成其他处理器的定义方式 覆盖mint-ui的primary颜色,改为自己UI的主题色 --main-co ...

  3. java检验银行卡号

    /* 校验过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,将个位十位数字相加,即将其减去9),再求和 ...

  4. long类型的数据转化为时间

    long time = 111111111111111111111:SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm: ...

  5. shell source命令说明

    当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行 ...

  6. 修改vs17中的cordova模板

    因为visual studio 2017创建的默认cordova-ios的版本自动编译带有swift语言的插件会出现异常,cordova-ios升级到4.3.1,并且配置build.json能解决问题 ...

  7. js弱数据类型的坑

    1.从表单获取的value是字符串,如果需要为数字相加,则需要转换为number类型 <input type="number" id="val1"> ...

  8. 提高spring boot jpa性能(译)

    Spring Data JPA为Spring应用程序提供了数据访问层的实现.这是一个非常方便的组件,因为它不会重新发明每个新应用程序的数据访问方式,因此您可以花更多时间来实现业务逻辑.使用Spring ...

  9. Python学习笔记——数据结构和算法(二)

    1.字典中一个键映射多个值 可以使用collections中的defaultdict来实现,defalultdict接受list或者set为参数 from collections import def ...

  10. insta php-fpm 的配置

    [global]pid = /www/wdlinux/phps/70/var/run/php-fpm.piderror_log = /www/wdlinux/phps/70/var/log/php-f ...