Bag类课后作业
20162316 Bag课后作业

下面小标题都是码云链接
import java.util.Arrays;
public class Bag implements BagInterface {
Object[] stuff = new Object[0];
@Override
public int getCurrentSize() {
int size = 0;
for(int a = 0; a<stuff.length;a++){
if(stuff[a] != null) size++;
}
return size;
}
@Override
public boolean isEmpty() {
boolean a = false;
if (getCurrentSize() ==0)
a = true;
return a;
}
//初始的包上限为0,每次在添加新的条目前将其上限加一,成为一个哆啦A梦的四次元口袋。
@Override
public boolean add(Object newEntry) {
boolean b = false;
stuff = Arrays.copyOf(stuff, stuff.length+1);
for (int a = 0;a < stuff.length;a++){
if (stuff[a] == null){
stuff[a] = (Object) newEntry;
b = true;
break;
}
}
return b;
}
@Override
public Object remove() {
int a = (int)Math.random() * ( getCurrentSize());
Object removed = stuff[a];
stuff[a] = null;
return removed;
}
@Override
public boolean remove(Object anEntry) {
boolean b = false;
for (int a = 0;a < stuff.length;a++){
if (stuff[a].equals(anEntry)){
b = true;
stuff[a] = null;
break;
}
}
return b;
}
@Override
public void clear() {
for (int a = 0;a < stuff.length;a++){
stuff[a] = null;
}
}
@Override
public int getFrequencyOf(Object anEntry) {
int num = 0;
for (int a = 0;a < stuff.length;a++){
if (stuff[a].equals(anEntry))
num++;
}
return num;
}
@Override
public boolean contains(Object anEntry) {
boolean b = false;
for (int a = 0;a < stuff.length;a++){
if (stuff[a].equals(anEntry))
b =true;
break;
}
return b;
}
@Override
public Object toArray() {
int num = 0;
Object [] BAG = new Object[getCurrentSize()];
for(Object element:stuff){
BAG[num] = element;
num++;
}
return BAG;
}
}
import junit.framework.TestCase;
public class BagTest extends TestCase {
Bag bag = new Bag();
public void testGetCurrentSize1() throws Exception {
bag.add(1);
assertEquals(1, bag.getCurrentSize());
}
public void testIsEmpty1() throws Exception {
bag.add(123);
assertEquals(false, bag.isEmpty());
}
public void testAdd1() throws Exception {
assertEquals(true, bag.add(1));
}
public void testRemove2() throws Exception {
bag.add(523);
System.out.println(bag.remove());
}
public void testRemove3() throws Exception {
bag.add(30);
assertEquals(true, bag.remove(30));
}
public void testClear1() throws Exception {
bag.add(99);
bag.clear();
assertEquals(0,bag.getCurrentSize());
}
public void testGetFrequencyOf1() throws Exception {
bag.add(111);
bag.add(222);
bag.add(111);
assertEquals(2,bag.getFrequencyOf(111));
}
public void testContains1() throws Exception {
bag.add(75);
assertEquals(true,bag.contains(75));
}
public void testToArray1() throws Exception {
bag.add(951);
System.out.println(bag.toArray());
}
Bag类课后作业的更多相关文章
- String字符串类课后作业
String动手动脑和课后作业 请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? 结果: 总结:在Java中,内容相同的字串常量(&quo ...
- 课堂作业-Bag类的实现
课堂作业-Bag类的实现 要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进 ...
- 20162320刘先润第三周Bag类测试
前言 以下内容是本周Bag代码的课后作业,要求是完成伪代码.产品代码和测试代码,为了书写方便我将伪代码以注释的形式写在了产品代码的后面 测试步骤 1.首先对Bag类引用BagInterface的代码进 ...
- java课后作业
课后作业之字串加密: 设计思想: 1.输入要加密的英文子串str 2.定义num=str的字符串长度 3.将字符串转化为单个字符 4.每个字符+3,向后移3个 5.定义str1,将新得到的每个字符加到 ...
- Bag类的接口的实现与测试(课上测试补做)
Bag类的接口的实现与测试(课上测试补做) 截图 由于截图有一定的的限制就没有吧所有的代码截进去,后面有代码. 代码 package ClassTest; import java.util.Objec ...
- java课后作业-5
作业一:请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?“ 程序源代码; public class Lei { /** * @param args */ public static vo ...
- Java字符串课后作业
[实验任务] 1.实验题目:字串加密 2.实验内容:古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
- C++第三章课后作业答案及解析---指针的使用
今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ...
- JAVA第三周课后作业
JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main( ...
随机推荐
- 公司架构理解 - 千万 pv 网站
1.面试题 - 花架构图 commander 控制台,请求处理器 crp 资源分配器 相当于仓管 .推荐系统的架构流程图和每一个模块的作用一定要了解,一般会让你一边画流程图一边讲解每个模块. 2.我自 ...
- mac最常用快捷键
本人使用的是18款512g的macbookpro<后续简称mbp>,已升级最新mojave系统. 以下是我平时记录.也是使用最多的快捷键,惠存. 1.切换拼音和字母 control ...
- FIFO队列 ADT接口 数组实现
FIFO.h (接口) #include "Item.h" #include <stdlib.h> typedef struct STACKnode *link; st ...
- hbase、zookeeper及hadoop部署
一 机器192.168.0.203 hd203: hadoop namenode & hbase HMaster192.168.0.204 hd204: hadoop datanode &am ...
- 20155229 《信息安全系统设计基础》 Mypwd实现
Mypwd 内容 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 学习pwd命令 通过man pwd查看 pwd命 ...
- 一天半时间大致的学习了HTML和CSS.
目前需要经常练习的知识: 1.正则表达式 2.CSS 3.编程
- ruby各种循环输出数组元素
array = (1..10).to_a # 方法1 length = array.length length.times do |t| print "#{array[t]} " ...
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用
Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grun ...
- idea配置SOLServer错误解决记录
1.错误信息:2019-03-26 13:32:41.205 ERROR 7828 --- [nio-8081-exec-1] c.alibaba.druid.filter.stat.StatFilt ...
- 关于python中的tkinter模块
python2.7和python3.6中的tkinter是两个包,不会自动升级,假如在fedora28做开发的话, 错误:用import Tkinter /import tkinter /import ...