首页 > 其他分享 >CS61B srping 2018 proj1Gold-Autograding https://sp18.datastructur.es/ 我放弃了。

CS61B srping 2018 proj1Gold-Autograding https://sp18.datastructur.es/ 我放弃了。

时间:2025-01-15 11:37:56浏览次数:1  
标签:srping sp18 ArrayDeque java CS61B StudentArrayDeque 报错 StudentArrayDequeLauncher

介绍和Getting the Skeleton Files 想办法找到下面四个文件

这个proj要编写一个autoGrader,提供如下文件:

  • StudentArrayDeque.java: A buggy implementation of ArrayDeque. 有错误的ArrayDeque
  • ArrayDequeSolution.java: A correct implementation of ArrayDeque. 正确的ArrayDeque
  • AssertEqualsStringDemo.java: Demo of how to use assertEquals. 关于如何使用assertEquals的示范
  • StudentArrayDequeLauncher.java: Demo of how to use StudentArrayDeques. 如何使用StudentArrayDeques的示范

Randomized Testing 随机化的测试

课程的autoGrader在测试的时候,会随机选取学生版的某方法a和正解版的某方法a,一旦两者结果不一样,就报错,这个proj也要这么做,有下面两个要点:

  • Randomized testing 测试要随机
  • JUnit message generation. 要有报错信息

可以先运行StudentArrayDequeLauncher.java,如果没问题发生,那么应该会输出一串数字(0-9之间的随机的啊就数字)。

任务1

下面新建一个文件TestArrayDequeGold.java,增加如下引入语句:

import static org.junit.Assert.*;
import org.junit.Test;

在其中编写测试,随机测试StudentArrayDeque ArrayDequeSolution 的方法,如果两者结果不同,就报错。通过StdRandom 方法可以生成随机数,如果需要了解,这是文档地址:链接StudentArrayDequeLauncher 可以作为参考,如果从StudentArrayDequeLauncher 直接复制程序,用@source标注。

对本项目,可以使用Integer 作为Deque的类型:
也就是StudentArrayDeque<Integer>这样。

仅使用 addFirst、addLast、removeFirst 和 removeLast 方法就会找到错误,但使用其它方法也行。

测试不应导致 NullPointerException。确保永远不要尝试从空的 ArrayDeque 中remove一个元素,因为 Integer x = ad.removeFirst() 将导致 NullPointerException。此外,对于此项目,当您从双端队列检索值时,请始终使用 Integer 而不是 int,即不要执行 int x = ad.removeFirst()。要了解为什么会导致问题,请阅读课程页面中的“常见问题解答”:链接

任务2 我放弃了

标签:srping,sp18,ArrayDeque,java,CS61B,StudentArrayDeque,报错,StudentArrayDequeLauncher
From: https://www.cnblogs.com/nulixuexipython/p/18670228

相关文章

  • CS61B srping 2018 disc04 https://sp18.datastructur.es/
    extends(扩展)和override(重写)extends关系导致的类型,子类一定是父类,父类一定不是子类。就赋值而言,父类a=子类b是ok的;反过来子类x=父类y;是不ok的,也就是说赋值时,类型层级上,右边一定是小于(低于)左边的。给定Animal类,填写Cat类的定义,以便在greet()被调用时,......
  • CS61B srping 2018 proj1A https://sp18.datastructur.es/
    proj1A数据结构skeleton地址开始这个proj之前,至少应该对SLList,DLList,AList有所了解介绍在proj1A里要用list和Array来创建“DoubleEndedQueue”,在接下来的proj1B里要对应编写测试。LinkedListDeque.javaandArrayDeque.java是这个proj里边要操作的文件,推荐使用intel......
  • CS61B srping 2018 lab03 https://sp18.datastructur.es/
    UnitTestingwithJUnit,Debugging准备装好CS61B插件(emmmmm,不装也没事)把lab2的IntList.java复制到lab3/IntList文件夹.看看关于测试的课程视频介绍啊?JUnit是java测试框架,现在要用JUnit进行单元测试,单元Unit就是把程序分成小块的单元,一个单元的功能尽量少,单独测试,......
  • CS61B 0A Exercises
    虽然以前有Java基础,但是工作四年主要使用的还是python和shell,另外对于数据结构和算法的基础也不牢固。所以开一个坑从头开始学习CS61B,对于Dicussion/Lab/Homework做一个记录,学完之后回头看能有一个收获。整体流程参考CS自学社区,学习课程为B站CS61B,本篇为学习完Lectrue01后的Homew......
  • CS61B srping 2018 examprep03 https://sp18.datastructur.es/
    flatten方法接受二维数组,返回一个一维数组比如,flatten({{1,2,3},{},{7,8}})shouldreturn{1,2,3,7,8}补全下面的程序片段publicstaticint[]flatten(int[][]x){inttotalLength=0;for(____________________________________){_______________________......
  • CS61B srping 2018 disc03 https://sp18.datastructur.es/
    为下面方法添加SLList.insert方法,要求签名如publicvoidinsert(intitem,intposition){},如果position大于最后一个元素,那就是添加到最后。(注意这个作业里的SLList和课程中介绍的SLList相比少点东西,故意的,可能是为了让学生开拓思路?)publicclassSLList{privateclassIn......
  • CS61B srping 2018 project00 https://sp18.datastructur.es/
    GettingtheSkeletonFiles,网站上应该有仓库地址,这个也行,https://gitee.com/heqilaoge/skeleton-sp18。拉下来找到proj0,就能开始作业。可以不使用IDE。2.ThePlanetClassandItsConstructor创建Planet类publicclassPlanet{publicdoublexxPos;publicdo......
  • CS61B srping 2018 examprep01(?02) https://sp18.datastructur.es/
    1.写出第21、24行的运行结果。(画出box-pointer指示图会对答题很有帮助)1publicclassShock{2publicstaticintbang;3publicstaticShockbaby;4publicShock(){5this.bang=100;6}7publicShock(intnum){8this.bang=num;9baby=starter();10this......
  • CS61B srping 2018 disc02 sol https://sp18.datastructur.es/
    第19行的变量level是静态方法change方法内部的本地变量,他对main方法里的level或者是实例变量level没什么影响。publicclassPokemon{//一个名为Pokemon的类publicStringname;//实例变量namepublicintlevel;//实例变量levelpublicPokemon(String......
  • CS61B srping 2018 disc02 https://sp18.datastructur.es/
    passbywhat?a.下列程序每一行怎么运行?b.画出box-and-pointer指示图c.在第19行,level被赋值为50,level是什么?是Pokemon的实例变量?(instancevariable)还是change方法的本地变量?(localvariable?)还是main方法里的变量?还是其他什么东西?1publicclassPokemon{2public......