home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / lang / Integer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  5.3 KB  |  304 lines

  1. package java.lang;
  2.  
  3. public final class Integer extends Number implements Comparable {
  4.    public static final int MIN_VALUE = -2147483648;
  5.    public static final int MAX_VALUE = 2147483647;
  6.    public static final Class TYPE = Class.getPrimitiveClass("int");
  7.    static final char[] digits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
  8.    private static final char[] radixTenTenths = new char[]{'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '4', '4', '4', '4', '4', '4', '4', '4', '4', '4', '5', '5', '5', '5', '5', '5', '5', '5', '5', '5', '6', '6', '6', '6', '6', '6', '6', '6', '6', '6', '7', '7', '7', '7', '7', '7', '7', '7', '7', '7', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '9', '9', '9', '9', '9', '9', '9', '9', '9', '9'};
  9.    private static final char[] radixTenUnits = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
  10.    private int value;
  11.    private static final long serialVersionUID = 1360826667806852920L;
  12.  
  13.    public static String toString(int var0, int var1) {
  14.       if (var1 < 2 || var1 > 36) {
  15.          var1 = 10;
  16.       }
  17.  
  18.       if (var1 == 10) {
  19.          return toString(var0);
  20.       } else {
  21.          char[] var2 = new char[33];
  22.          boolean var3 = var0 < 0;
  23.          int var4 = 32;
  24.          if (!var3) {
  25.             var0 = -var0;
  26.          }
  27.  
  28.          while(var0 <= -var1) {
  29.             var2[var4--] = digits[-(var0 % var1)];
  30.             var0 /= var1;
  31.          }
  32.  
  33.          var2[var4] = digits[-var0];
  34.          if (var3) {
  35.             --var4;
  36.             var2[var4] = '-';
  37.          }
  38.  
  39.          return new String(var2, var4, 33 - var4);
  40.       }
  41.    }
  42.  
  43.    public static String toHexString(int var0) {
  44.       return toUnsignedString(var0, 4);
  45.    }
  46.  
  47.    public static String toOctalString(int var0) {
  48.       return toUnsignedString(var0, 3);
  49.    }
  50.  
  51.    public static String toBinaryString(int var0) {
  52.       return toUnsignedString(var0, 1);
  53.    }
  54.  
  55.    private static String toUnsignedString(int var0, int var1) {
  56.       char[] var2 = new char[32];
  57.       int var3 = 32;
  58.       int var4 = 1 << var1;
  59.       int var5 = var4 - 1;
  60.  
  61.       do {
  62.          --var3;
  63.          var2[var3] = digits[var0 & var5];
  64.          var0 >>>= var1;
  65.       } while(var0 != 0);
  66.  
  67.       return new String(var2, var3, 32 - var3);
  68.    }
  69.  
  70.    public static String toString(int var0) {
  71.       char[] var1 = new char[12];
  72.       boolean var2 = var0 < 0;
  73.       int var3 = 12;
  74.       if (var0 == MIN_VALUE) {
  75.          return "-2147483648";
  76.       } else {
  77.          if (var2) {
  78.             var0 = -var0;
  79.          }
  80.  
  81.          do {
  82.             int var4 = var0 % 100;
  83.             --var3;
  84.             var1[var3] = radixTenUnits[var4];
  85.             --var3;
  86.             var1[var3] = radixTenTenths[var4];
  87.             var0 /= 100;
  88.          } while(var0 != 0);
  89.  
  90.          if (var1[var3] == '0') {
  91.             ++var3;
  92.          }
  93.  
  94.          if (var2) {
  95.             --var3;
  96.             var1[var3] = '-';
  97.          }
  98.  
  99.          return new String(var1, var3, 12 - var3);
  100.       }
  101.    }
  102.  
  103.    public static int parseInt(String var0, int var1) throws NumberFormatException {
  104.       if (var0 == null) {
  105.          throw new NumberFormatException("null");
  106.       } else if (var1 < 2) {
  107.          throw new NumberFormatException("radix " + var1 + " less than Character.MIN_RADIX");
  108.       } else if (var1 > 36) {
  109.          throw new NumberFormatException("radix " + var1 + " greater than Character.MAX_RADIX");
  110.       } else {
  111.          int var2 = 0;
  112.          boolean var3 = false;
  113.          int var4 = 0;
  114.          int var5 = var0.length();
  115.          if (var5 <= 0) {
  116.             throw new NumberFormatException(var0);
  117.          } else {
  118.             int var6;
  119.             if (var0.charAt(0) == '-') {
  120.                var3 = true;
  121.                var6 = MIN_VALUE;
  122.                ++var4;
  123.             } else {
  124.                var6 = -2147483647;
  125.             }
  126.  
  127.             int var7 = var6 / var1;
  128.             if (var4 < var5) {
  129.                int var8 = Character.digit(var0.charAt(var4++), var1);
  130.                if (var8 < 0) {
  131.                   throw new NumberFormatException(var0);
  132.                }
  133.  
  134.                var2 = -var8;
  135.             }
  136.  
  137.             while(var4 < var5) {
  138.                int var10 = Character.digit(var0.charAt(var4++), var1);
  139.                if (var10 < 0) {
  140.                   throw new NumberFormatException(var0);
  141.                }
  142.  
  143.                if (var2 < var7) {
  144.                   throw new NumberFormatException(var0);
  145.                }
  146.  
  147.                var2 *= var1;
  148.                if (var2 < var6 + var10) {
  149.                   throw new NumberFormatException(var0);
  150.                }
  151.  
  152.                var2 -= var10;
  153.             }
  154.  
  155.             if (var3) {
  156.                if (var4 > 1) {
  157.                   return var2;
  158.                } else {
  159.                   throw new NumberFormatException(var0);
  160.                }
  161.             } else {
  162.                return -var2;
  163.             }
  164.          }
  165.       }
  166.    }
  167.  
  168.    public static int parseInt(String var0) throws NumberFormatException {
  169.       return parseInt(var0, 10);
  170.    }
  171.  
  172.    public static Integer valueOf(String var0, int var1) throws NumberFormatException {
  173.       return new Integer(parseInt(var0, var1));
  174.    }
  175.  
  176.    public static Integer valueOf(String var0) throws NumberFormatException {
  177.       return new Integer(parseInt(var0, 10));
  178.    }
  179.  
  180.    public Integer(int var1) {
  181.       this.value = var1;
  182.    }
  183.  
  184.    public Integer(String var1) throws NumberFormatException {
  185.       this.value = parseInt(var1, 10);
  186.    }
  187.  
  188.    public byte byteValue() {
  189.       return (byte)this.value;
  190.    }
  191.  
  192.    public short shortValue() {
  193.       return (short)this.value;
  194.    }
  195.  
  196.    public int intValue() {
  197.       return this.value;
  198.    }
  199.  
  200.    public long longValue() {
  201.       return (long)this.value;
  202.    }
  203.  
  204.    public float floatValue() {
  205.       return (float)this.value;
  206.    }
  207.  
  208.    public double doubleValue() {
  209.       return (double)this.value;
  210.    }
  211.  
  212.    public String toString() {
  213.       return String.valueOf(this.value);
  214.    }
  215.  
  216.    public int hashCode() {
  217.       return this.value;
  218.    }
  219.  
  220.    public boolean equals(Object var1) {
  221.       if (var1 instanceof Integer) {
  222.          return this.value == (Integer)var1;
  223.       } else {
  224.          return false;
  225.       }
  226.    }
  227.  
  228.    public static Integer getInteger(String var0) {
  229.       return getInteger(var0, (Integer)null);
  230.    }
  231.  
  232.    public static Integer getInteger(String var0, int var1) {
  233.       Integer var2 = getInteger(var0, (Integer)null);
  234.       return var2 == null ? new Integer(var1) : var2;
  235.    }
  236.  
  237.    public static Integer getInteger(String var0, Integer var1) {
  238.       String var2 = null;
  239.  
  240.       try {
  241.          var2 = System.getProperty(var0);
  242.       } catch (IllegalArgumentException var5) {
  243.       } catch (NullPointerException var6) {
  244.       }
  245.  
  246.       if (var2 != null) {
  247.          try {
  248.             return decode(var2);
  249.          } catch (NumberFormatException var7) {
  250.          }
  251.       }
  252.  
  253.       return var1;
  254.    }
  255.  
  256.    public static Integer decode(String var0) throws NumberFormatException {
  257.       byte var1 = 10;
  258.       int var2 = 0;
  259.       boolean var3 = false;
  260.       if (var0.startsWith("-")) {
  261.          var3 = true;
  262.          ++var2;
  263.       }
  264.  
  265.       if (!var0.startsWith("0x", var2) && !var0.startsWith("0X", var2)) {
  266.          if (var0.startsWith("#", var2)) {
  267.             ++var2;
  268.             var1 = 16;
  269.          } else if (var0.startsWith("0", var2) && var0.length() > 1 + var2) {
  270.             ++var2;
  271.             var1 = 8;
  272.          }
  273.       } else {
  274.          var2 += 2;
  275.          var1 = 16;
  276.       }
  277.  
  278.       if (var0.startsWith("-", var2)) {
  279.          throw new NumberFormatException("Negative sign in wrong position");
  280.       } else {
  281.          Integer var4;
  282.          try {
  283.             var4 = valueOf(var0.substring(var2), var1);
  284.             var4 = var3 ? new Integer(-var4) : var4;
  285.          } catch (NumberFormatException var7) {
  286.             String var6 = var3 ? new String("-" + var0.substring(var2)) : var0.substring(var2);
  287.             var4 = valueOf(var6, var1);
  288.          }
  289.  
  290.          return var4;
  291.       }
  292.    }
  293.  
  294.    public int compareTo(Integer var1) {
  295.       int var2 = this.value;
  296.       int var3 = var1.value;
  297.       return var2 < var3 ? -1 : (var2 == var3 ? 0 : 1);
  298.    }
  299.  
  300.    public int compareTo(Object var1) {
  301.       return this.compareTo((Integer)var1);
  302.    }
  303. }
  304.