Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class LZW {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("ENTER THE STRING YOU NEED TO ENCODE : ");
- String s = new String(sc.next());
- String d[] = new String[500];
- for (int i = 0; i < 256; i++)
- d[i] = new String((char) (i) + "");
- int j = 0;
- int l = 256;
- String prefix = new String(s.charAt(j++) + "");
- String ch = "";
- int flag = 0;
- while (j < s.length()) {
- ch = new String(s.charAt(j++) + "");
- flag = 0;
- for (int k = 0; k < l; k++) {
- if ((prefix + ch).equals(d[k].toString())) {
- flag = 1;
- break;
- }
- }
- if (flag == 1)
- prefix = prefix + ch;
- else {
- d[l] = prefix + ch;
- for (int m = 0; m < l; m++)
- if (prefix.equals(d[m].toString())) {
- System.out.print("<" + m + ">");
- break;
- }
- prefix = ch;
- l++;
- flag = 0;
- }
- }
- if (flag == 1) {
- for (int q = 0; q < l; q++)
- if ((prefix).toString().equals(d[q].toString()))
- System.out.print("<" + q + ">");
- } else {
- for (int x = 0; x < l; x++)
- if (ch.toString().equals(d[x].toString()))
- System.out.println("<" + x + ">");
- }
- }
- }
- /*
- OUTPUT:
- ENTER THE STRING YOU NEED TO ENCODE :
- BABCABABA
- <66><65><66><67><257><260>
- */
Advertisement
Add Comment
Please, Sign In to add comment