2014-01-29 82 views
0

怎樣可以用Java來實現,以檢查字符串提示錯誤時Java字符串過濾器的基礎上特定的ASCII值

  • 串具有有EBCDIC值比十六進制「3F」更大的特殊字符或
  • 大於十六進制的ASCII值「1F」。值EBCDIC「00」 - 「3F」和ASCII「00」 - 「1F」的出現是無效的。

對不起,如果我的問題重複或混淆

在此先感謝

+1

你做了什麼,你卡在哪裏? – 2014-01-29 10:35:27

回答

0

在這個答案,說明您可以排序的字符串:Sort a single String in Java

char[] chars = original.toCharArray(); 
Arrays.sort(chars); 

一旦整理你只有檢查字符數組中的最後一個是否高於給定的十六進制值。

對於EBCDIC,您可以在EBCDIC的基礎上添加比較器來進行排序和排序。

char[] chars = original.toCharArray(); 

    // I will convert my array of chars to array of Characters to use Arrays.sort 
    int length = Array.getLength(chars); 


    Character[] ret = new Character[length]; 
    for(int i = 0; i < length; i++) 
     ret[i] = (Character)Array.get(chars, i); 

     // and now the important bit 
    Arrays.sort(ret, new Comparator<Character>() { 

     @Override 
     public int compare(Character arg0, Character arg1) { 
      // convert arg0 and arg1 to EBCDIC with whatever tools you have 
      return arg0InEBCDIC - arg1InEDBCIC; 
     } 
    }); 

一旦你有一個有序的數組,你只需要檢查最後一個元素,如我所說。