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) {
}
}