COM pression和DECOM $ P $用Java参数字符串的pssion [英] Compression and Decompression of Argument Strings in Java
问题描述
我有想出办法太DECOM preSS Java中的字符串的麻烦。这是一个基本的Java类,我正在所以只需要基本的命令,没有什么太花哨。它的目标是能够键入
C:\\>的Java的COM preSS -c aaaabbbbbcc
在命令提示符,然后将打印 a4b5c2
(如它为com preSS参数字符串)。
另一个目的是键入
C:\\>的Java的COM preSS -d a5b7c4
和将打印 aaaaabbbbbbbcccc
(像它会DECOM preSS参数字符串)。在DECOM pression是我遇到的问题。这里是我的code,任何帮助,我得到的是多少AP preciated。
进口的java.util。*;公共类的COM $ P $ {PSS
公共静态无效的主要(字符串ARGS []){ 扫描程序扫描=新的扫描仪(System.in);
串originalString = scan.nextLine();
INT数= scan.nextInt(); 如果(参数[0] .equals( - C)){
的System.out.println(COM preSS);
COM preSS(originalString);
} 否则,如果(参数[0] .equals( - D)){
的System.out.println(DECOM preSS);
DECOM preSS(originalString);
}其他{
的System.out.println(的COM preSS由凯尔西等待区域方案);
的System.out.println(用法:JAVA的COM preSS [-c,-d] LT; INPUTFILE> OUTPUTFILE);
}
} 公共静态无效COM preSS(字符串originalString){
诠释计数= 0;
焦补偿= originalString.charAt(0);
的for(int i = 0; I< originalString.length();我++){
originalString.charAt(ⅰ); 如果(补偿== originalString.charAt(I))
算上++;
其他{
System.out.print(补偿++计数);
排版= originalString.charAt(ⅰ);
数= 1;
}
}
的System.out.println(补偿++计数);
} 公共静态无效DECOM preSS(字符串originalString){ }
}
快速code为你..
公共静态无效DECOM preSS(字符串originalString)
{
StringBuffer的finalString =新的StringBuffer();;
焦炭previouschar = originalString.charAt(0);
的for(int i = 1; I< originalString.length(); I + = 2){
为(中间体J = 0; J&下;的Integer.parseInt(+ originalString.charAt(ⅰ)); J ++){
finalString.append(previouschar);
}
如果第(i + 1&下; originalString.length())
{
previouschar = originalString.charAt第(i + 1);
}
}
的System.out.println(finalString.toString());
}
I'm having trouble coming up with a way too decompress a String in Java. This is a basic Java class I'm taking so it only requires basic commands, nothing too fancy. The objective it to able to type
C:\>java Compress -c aaaabbbbbcc
in the command prompt and it will print a4b5c2
(like it is compress the argument string).
The other objective is to type
C:\>java Compress -d a5b7c4
and it will print aaaaabbbbbbbcccc
(like it will decompress the argument String). The decompression is the issue I'm having. Here is my code, any help I get is much appreciated.
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());
}
这篇关于COM pression和DECOM $ P $用Java参数字符串的pssion的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!