Advertisement
Guest User

Utilities

a guest
Feb 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.88 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package converter;
  7.  
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Iterator;
  11. import java.util.List;
  12. import java.util.StringTokenizer;
  13.  
  14. /**
  15.  *
  16.  * @author Acer
  17.  */
  18. public final class Utilities {
  19.     private Utilities(){
  20.     }
  21.    
  22.     @Checked
  23.     public static boolean isDecimalDigit(char digit){
  24.         return digit >= '0' && digit <= '9';
  25.     }
  26.    
  27.     @Checked
  28.     public static boolean isBinaryDigit(char digit){
  29.         return digit == '0' || digit == '1';
  30.     }
  31.    
  32.     @Checked
  33.     public static boolean isOctalDigit(char digit){
  34.         return digit >= '0' && digit <= '7';
  35.     }
  36.    
  37.     @Checked
  38.     public static boolean isHexadecimalDigit(char digit){
  39.         return isDecimalDigit(digit) || ((digit >= 'a' && digit <= 'f') || (digit >= 'A' && digit <= 'F'));
  40.     }
  41.    
  42.     @Checked
  43.     public static int toDecimalValue(char hex){
  44.         if(isDecimalDigit(hex))
  45.             return Character.digit(hex, 10);
  46.         switch(hex){
  47.             case 'A':
  48.             case 'a':
  49.                 return 10;
  50.             case 'B':
  51.             case 'b':
  52.                 return 11;
  53.             case 'C':
  54.             case 'c':
  55.                 return 12;
  56.             case 'D':
  57.             case 'd':
  58.                 return 13;
  59.             case 'E':
  60.             case 'e':
  61.                 return 14;
  62.             case 'F':
  63.             case 'f':
  64.                 return 15;
  65.             default:
  66.                 return -1;
  67.         }
  68.     }
  69.    
  70.     @Checked
  71.     public static char toHexadecimalDigit(int value){
  72.         if(value >= 0 && value <= 9)
  73.             return Character.forDigit(value, 10);
  74.         switch(value){
  75.             case 10:
  76.                 return 'A';
  77.             case 11:
  78.                 return 'B';
  79.             case 12:
  80.                 return 'C';
  81.             case 13:
  82.                 return 'D';
  83.             case 14:
  84.                 return 'E';
  85.             case 15:
  86.                 return 'F';
  87.             default:
  88.                 return '\0';
  89.         }
  90.     }
  91.    
  92.     @Checked
  93.     public static String[] split(String str, int splitsCount, int charsCount){
  94.         if(splitsCount <= 0 || charsCount <= 0)
  95.             return new String[]{str};
  96.         StringBuilder builder = new StringBuilder();
  97.         int count = 0;
  98.         for(int i = 0;i < str.length();i++){
  99.             if((i % charsCount) == 0 && i != 0){
  100.                 builder.append("-");
  101.                 count++;
  102.             }
  103.             if(count == splitsCount){
  104.                 builder.append(str.substring(i));
  105.                 break;
  106.             }
  107.             builder.append(str.charAt(i));
  108.         }
  109.         StringTokenizer tokenizer = new StringTokenizer(builder.toString(), "-");
  110.         ArrayList<String> groups = new ArrayList<>();
  111.         while(tokenizer.hasMoreTokens())
  112.             groups.add(tokenizer.nextToken());
  113.         return groups.toArray(new String[]{});
  114.     }
  115.    
  116.     @Checked
  117.     public static String reverse(String str){
  118.         String temp = "";
  119.         for(int i = str.length()-1;i >= 0;i--)
  120.             temp += str.charAt(i);
  121.         return temp;
  122.     }
  123.    
  124.     @Checked
  125.     public static Iterator<Character> stringIterator(String str){
  126.         Character[] data = new Character[str.length()];
  127.         for(int i = 0;i < str.length();i++)
  128.             data[i] = str.charAt(i);
  129.         return Arrays.asList(data).iterator();
  130.     }
  131.    
  132.     @Checked
  133.     public static StringBuilder[] stringBuildersArrayFor(String[] array){
  134.         StringBuilder[] builders = new StringBuilder[array.length];
  135.         for(int i = 0;i < array.length;i++)
  136.             builders[i] = new StringBuilder(array[i]);
  137.         return builders;
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement