当前位置: 首页 > 面试题库 >

Java中参数字符串的压缩和解压缩

程城
2023-03-14
问题内容

我在想办法也无法在Java中解压缩String时遇到麻烦。这是我要学习的基本Java类,因此只需要基本命令,没有什么花哨的地方。它能够输入的目标

C:\>java Compress -c aaaabbbbbcc

在命令提示符下,它将打印a4b5c2(就像它压缩参数字符串一样)。

另一个目标是输入

C:\>java Compress -d a5b7c4

它将打印aaaaabbbbbbbcccc(就像它将解压缩参数String一样)。减压是我遇到的问题。这是我的代码,非常感谢我得到的任何帮助。

import java.util.*;

public class Compress {
    public static void main(String args[]) {

        Scanner scan = new Scanner(System.in);
        String originalString = scan.nextLine();
        int number = scan.nextInt();

        if (args[0].equals("-c")) {
            System.out.println("compress");
            compress(originalString);
        }

        else if (args[0].equals("-d")) {
            System.out.println("decompress");
            decompress(originalString);
        } else {
            System.out.println("Compress program by Kelsey Faram");
            System.out.println("usage: java Compress [-c,-d] < inputFile > outputFile");
        }
    }

    public static void compress(String originalString) {
        int count = 0;
        char comp = originalString.charAt(0);
        for (int i = 0; i < originalString.length(); i++) {
            originalString.charAt(i);

            if (comp == originalString.charAt(i))
                count++;
            else {
                System.out.print(comp + "" + count);
                comp = originalString.charAt(i);
                count = 1;
            }
        }
        System.out.println(comp + "" + count);
    }

    public static void decompress(String originalString) {

    }
}

问题答案:

Quick Code for you..

public static void decompress(String originalString)
{
        StringBuffer finalString = new StringBuffer();;
        char previouschar = originalString.charAt(0);
        for(int i=1; i < originalString.length(); i+=2){
                for(int j = 0 ; j< Integer.parseInt(""+originalString.charAt(i));j++) {
                    finalString.append(previouschar);
                }               
                if(i+1 < originalString.length())
                {
                    previouschar=originalString.charAt(i+1);
                }
        }
        System.out.println(finalString.toString());
}


 类似资料:
  • 问题内容: 我正在使用以下代码来压缩和解压缩字符串数据,但是我面临的问题是,它很容易被压缩而不会出错,但是decompress方法会引发以下错误。 线程“主”中的异常java.io.IOException:不是GZIP格式 仍然不知道如何解决此问题!!! 问题答案: 这是因为 发送您可以从中获得的,并在其中使用它来构建您的。以下是需要在代码中进行的更改。

  • 本文向大家介绍php压缩和解压缩字符串的方法,包括了php压缩和解压缩字符串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php压缩和解压缩字符串的方法。分享给大家供大家参考。具体如下: 下面php代码通过gzcompress和gzuncompress压缩和解压缩字符串,可以设定压缩级别 希望本文所述对大家的php程序设计有所帮助。

  • 最近,我偶然发现了这个JEP 254:紧凑字符串,其基本目标是: 小结:对字符串采用更节省空间的内部表示。 根据我目前的经验,

  • 本文向大家介绍C#自定义字符串压缩和解压缩的方法,包括了C#自定义字符串压缩和解压缩的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#自定义字符串压缩和解压缩的方法。分享给大家供大家参考。具体如下: 代码使用方法: 希望本文所述对大家的C#程序设计有所帮助。

  • 问题内容: 我知道这是一项容易的任务,但是更改代码后它停止工作,并且无法恢复!我实际上使用了两个函数来进行压缩和解压缩,尽管实际上它是“ jar”和“ unjar”,但这并没有太大的区别 任何帮助/建议吗? 创建JarFile时发生错误: 问题答案: 我不知道这是否是您的问题,但是通常最好在完成写入后关闭每个zip条目。 请参阅。 在显示的代码中,不会关闭邮政编码中的最后一个条目。您也不会显示关闭