Literal2.java public class Literal2{ public static void main(String
Transcription
Literal2.java public class Literal2{ public static void main(String
Literal2.java public class Literal2{ public static void main(String[] args){ String s = args[0]; System.out.println(s + " has a value of " + intValue(s)); } // main // s is a numeric string public static int intValue(String s){ int ans; if (s.charAt(0) == '-') ans = -intValue(s.substring(1)); else if(s.length() == 1 | s.charAt(0)!= '0') ans = intValue(s,10); else if (s.charAt(1) != 'x') ans = intValue(s.substring(1),8); else ans = intValue(s.substring(2),16); return ans; } // intValue public static int intValue(String s, int base){ int ans; int n = s.length(); if(n == 0) // base case ans = 0; else ans = base*intValue(s.substring(0,n-1), base) + intValue(s.charAt(n-1)); return ans; } // intValue public static int intValue(char c){ final String conversion = "0123456789ABCDEF"; return conversion.indexOf(c); } // intValue } // class Page 1