document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //  Praktikum 8
  2. //  Alphanumeric Sorting
  3. //
  4.  
  5. import java.util.Scanner;
  6. import java.lang.Character;
  7.  
  8. public class nrp5213100087 {
  9.     public static void main(String[] args) {
  10.         sort Program = new sort();
  11.     }
  12. }
  13.  
  14. class sort {
  15.     Scanner get = new Scanner(System.in);
  16.     String raw;
  17.     String[] array;
  18.     int[] mirror;
  19.     int dataLength=0;
  20.     int idx=0;
  21.    
  22.     void count() {
  23.         for (int i = 0; i < raw.length()-1; i++) {
  24.             if(Character.isLetter(raw.charAt(i))) {
  25.                 dataLength++;
  26.             }   else
  27.             if(Character.isDigit(raw.charAt(i))) {
  28.                 if(Character.isDigit(raw.charAt(i+1))) {
  29.                 i++;
  30.                 }
  31.                 dataLength++;
  32.             }
  33.         }
  34.        
  35.             if(Character.isLetter(raw.charAt(raw.length()-1))) {
  36.                 dataLength++;
  37.             }   else
  38.             if(Character.isDigit(raw.charAt(raw.length()-1))) {
  39.                 if(!Character.isDigit(raw.charAt(raw.length()-2)))
  40.                     dataLength++;
  41.             }
  42.                
  43.     }
  44.     void storing() {
  45.         for (int i = 0; i < raw.length()-1; i++) {      // no crash
  46.             if(Character.isLetter(raw.charAt(i))) {
  47.                 array[idx]=raw.substring(i, i+1);
  48.                 idx++;
  49.             }
  50.             else
  51.             if(Character.isDigit(raw.charAt(i))) {
  52.                 if(Character.isDigit(raw.charAt(i+1))) {
  53.                      array[idx]=raw.substring(i,i+2);
  54.                      i++;
  55.                 }
  56.                 else array[idx]=raw.substring(i,i+1);
  57.                 idx++;
  58.             }
  59.         }
  60.        
  61.             if(Character.isLetter(raw.charAt(raw.length()-1))) {
  62.                 array[idx]=raw.substring(raw.length()-1);
  63.                 idx++;
  64.             }
  65.             else
  66.             if(Character.isDigit(raw.charAt(raw.length()-1))) {
  67.                 if(!Character.isDigit(raw.charAt(raw.length()-2))) {
  68.                     array[idx]=raw.substring(raw.length()-1);
  69.                 }
  70.             }
  71.     }
  72.     void mirroring() {
  73.         for (int i = 0; i < dataLength; i++) {
  74.             if(Character.isLetter(array[i].charAt(0)))
  75.                 mirror[i]=(array[i].codePointAt(0))*2;
  76.             else {
  77.                 if(array[i].length()==1)
  78.                 mirror[i]=(array[i].codePointAt(0))*2+97;
  79.                 else
  80.                 mirror[i]=(Integer.parseInt(array[i])-9+57)*2+97;
  81.             }
  82.         }
  83.     }
  84.     void output() {
  85.         for (int i = 0; i < dataLength-1; i++) {
  86.             System.out.print(array[i]+",");
  87.         }
  88.         System.out.println(array[dataLength-1]);
  89.     }
  90.     void bubbleSort() {
  91.         int     swap;
  92.         String  flip;
  93.         for (int i = dataLength-1; i > 0; i--) {
  94.             for (int j = 0; j < i; j++) {
  95.                 if(mirror[i]<mirror[j]) {
  96.                     swap        =   mirror[i];
  97.                     mirror[i]   =   mirror[j];
  98.                     mirror[j]   =   swap;
  99.                     flip        =   array[i];
  100.                     array[i]    =   array[j];
  101.                     array[j]    =   flip;
  102.                 }
  103.             }
  104.         }
  105.     }
  106.    
  107.     sort() {
  108.         System.out.print("Input : ");
  109.         raw=get.nextLine();
  110.        
  111.         count();
  112.         array  = new String[dataLength];
  113.         mirror = new int[dataLength];
  114.        
  115.         storing();
  116.         mirroring();
  117.         bubbleSort();
  118.        
  119.         output();
  120.                
  121.     }
  122. }
');