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