• 大小: 49KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: Java
  • 标签: Java  

资源简介

第二次作业: 1. 编写点类(Point类),属性成员有x,y,都是double数据类型。需要为Point类编写构造函数。 编写直线类(Line类),需要提供两点确定一条直线的函数功能。 如果两点重合,可以返回异常或者返回null引用来解决这个问题。 直线类的数据成员和函数成员请自行设计。 2. 给定文本文件,文件名称为a.txt,文件内容为一个8行8列的字符矩阵,内容为1和0字符, 请编程计算出该矩阵中水平方向或者垂直方向或者斜线方 向连续1最多的个数。 例如: 11001101 10110101 01010101 11001000 01010101 11001101 00011000 11110000 3. 编写程序求出1万以内的所有素数,并将这些素数输出到一个文本文件中,每行文本只包含一个素数数据。 该文本文件内容要求可以用记事本程序来查看。 4. 编写程序求出1万以内的所有素数,然后再判断这些素数中哪些是由素数拼接而成的。 例如素数23就符合条件,23本身是素数,其由素数2,和素数3拼接(连接)组成。 素数29就不满足条件,2是素数,而9不是素数。素数307不满足条件,不能忽略0. 7907这个素数符合条件,7是素数,907是素数。 需要把符合条件的拼接素数全部输出,并统计个数。 5. 要求从控制台输入英语单词及单词解释两项数据, 把录入的数据追加到文件中。要求提供单词查询功能。 用户输入单词后,从单词库文件中查找,如果存在则输出 该单词的解释。注意,单词不能有重复,如果重复则覆盖替换 以前的解释数据。 6. 通过命令行参数输入一个文件夹的路径名称,然后编写程序找出该文件夹下文件名称重复并且文件大小也一样的文件, 如果没有“重复文件”,则输出“没有重复文件”的提示,如果有,需要输出文件名称,和文件所在的文件夹路径(绝对路径)。 提示,需要遍历该文件夹下所有子文件夹,设计一个文件类,属性包括文件名称,文件路径,文件大小,然后进行“重复” 判断,如果文件重复,则需要记录并输出,有可能有文件名重复,但是文件大小不一样,重复的文件可能不止2个,可能 在不同的子文件夹下有多个文件重复。 7. 霍夫曼编码实现压缩文本文件,见文件huffman.rar. 对文件数据读写等功能已经实现,程序在Q2Resources.zip中。 Q2Resources.zip中的文件禁止修改。请将TextZip.java文件所有未实现的函数按照要求给以实现。

资源截图

代码片段和文件信息

package huffman;

public class BinaryTree extends BinaryTreeBasis {
  public BinaryTree() {
  }  // end default constructor

  public BinaryTree(object rootItem) {
    super(rootItem);
  }  // end constructor

  public BinaryTree(object rootItem 
                    BinaryTree leftTree 
                    BinaryTree rightTree) {
    root = new TreeNode(rootItem null null);
    attachLeftSubtree(leftTree);
    attachRightSubtree(rightTree);
  }  // end constructor

  public void setRootItem(object newItem) {
    if (root != null) {
      root.setItem(newItem);
    }
    else {
      root = new TreeNode(newItem null null);
    }  // end if
  }  // end setRootItem

  public void attachLeft(object newItem) {
    if (!isEmpty() && root.getLeft() == null) {
      // assertion: nonempty tree; no left child
      root.setLeft(new TreeNode(newItem null null));
    }  // end if
  }  // end attachLeft

  public void attachRight(object newItem) {
    if (!isEmpty() && root.getRight() == null) {
      // assertion: nonempty tree; no right child
      root.setRight(new TreeNode(newItem null null));
    }  // end if
  }  // end attachRight

  public void attachLeftSubtree(BinaryTree leftTree) 
                                throws TreeException {
    if (isEmpty()) {
      throw new TreeException(“TreeException:  Empty tree“);
    }
    else if (root.getLeft() != null) {
      // a left subtree already exists; it should have been 
      // deleted first
      throw new TreeException(“TreeException: “ + 
                           “Cannot overwrite left subtree“);
    }
    else {
      // assertion: nonempty tree; no left child
      root.setLeft(leftTree.root);
      // don‘t want to leave multiple entry points into 
      // our tree
      leftTree.makeEmpty(); 
    }  // end if
  }  // end attachLeftSubtree

  public void attachRightSubtree(BinaryTree rightTree)  
                                 throws TreeException {
    if (isEmpty()) {
      throw new TreeException(“TreeException:  Empty tree“);
    }
    else if (root.getRight() != null) {
      // a right subtree already exists; it should have been 
      // deleted first
      throw new TreeException(“TreeException: “ + 
                          “Cannot overwrite right subtree“);
    }
    else {
      // assertion: nonempty tree; no right child
      root.setRight(rightTree.root);
      // don‘t want to leave multiple entry points into 
      // our tree
      rightTree.makeEmpty(); 
    }  // end if
  }  // end attachRightSubtree
  
  protected BinaryTree(TreeNode rootNode) {
    root = rootNode;
  }  // end protected constructor

  public BinaryTree detachLeftSubtree()  
                         throws TreeException {
    if (isEmpty()) {
      throw new TreeException(“TreeException:  Empty tree“);
    }
    else {
      // create a new binary tree that has root‘s left 
      // node as its root

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         108  2017-07-10 12:01  -f
     文件         301  2017-06-30 14:59  .classpath
     文件         378  2017-06-30 14:59  .project
     目录           0  2017-06-30 14:59  .settings\
     文件         598  2017-06-30 14:59  .settings\org.eclipse.jdt.core.prefs
     文件          30  2017-07-05 20:11  a.freq
     文件          12  2017-07-10 11:59  a.txt
     文件           5  2017-07-09 13:42  a.txz
     文件          78  2017-06-30 15:18  b.txt
     目录           0  2017-07-04 19:43  bin\
     目录           0  2017-07-08 11:01  bin\huffman\
     文件        2474  2017-07-04 19:43  bin\huffman\BinaryTree.class
     文件        1146  2017-07-04 19:43  bin\huffman\BinaryTreeBasis.class
     文件         463  2017-07-04 19:43  bin\huffman\BitReader$NoBitsLeftToReturn.class
     文件        2146  2017-07-04 19:43  bin\huffman\BitReader.class
     文件         502  2017-07-04 19:43  bin\huffman\BitWriter$BitWriterClosedAlreadyException.class
     文件         466  2017-07-04 19:43  bin\huffman\BitWriter$InvalidBitException.class
     文件        2580  2017-07-04 19:43  bin\huffman\BitWriter.class
     文件        1062  2017-07-07 10:15  bin\huffman\CharFreq.class
     文件        4298  2017-07-10 11:54  bin\huffman\English_wrod.class
     文件        1219  2017-07-10 11:35  bin\huffman\Line.class
     文件         353  2017-07-10 11:35  bin\huffman\Point.class
     文件        3757  2017-07-10 11:53  bin\huffman\prim.class
     文件        2868  2017-07-04 19:43  bin\huffman\Prim_01.class
     文件        3479  2017-07-10 11:15  bin\huffman\rectangle.class
     文件        2746  2017-07-10 11:35  bin\huffman\six.class
     文件         992  2017-07-09 13:57  bin\huffman\TextZip$1.class
     文件        9550  2017-07-09 13:57  bin\huffman\TextZip.class
     文件         348  2017-07-04 19:43  bin\huffman\TreeException.class
     文件        1540  2017-07-07 11:10  bin\huffman\TreeNode.class
     文件           2  2017-07-10 11:53  Englishword.txt
............此处省略22个文件信息

评论

共有 条评论