From charlesreid1

Line 27: Line 27:
String n = "2432902008176640000";
String n = "2432902008176640000";
char[] narr = n.toCharArray();
char[] narr = n.toCharArray();
///////////////////////////////////////////////////////////
 




Line 37: Line 37:
}
}


///////////////////////////////////////////////////////////
// Print out the square of each character interpreted as a digit
// Print out the square of each character interpreted as a digit
int j = 0;
int j = 0;

Revision as of 20:47, 18 June 2017

Check if a string is numeric

To check if a String in Java is numeric, build a simple utility function:

public static boolean isNumeric(String str)  
{  
    try  
    {  
        double d = Double.parseDouble(str);  
    }  
      catch(NumberFormatException nfe)  
    {  
        return false;  
    }  
    return true;  
}

Interpret character as digit

The Character class has the static digit method, which takes a character and an integer radix, and returns an integer - the character interpreted as an integer. It also has a boolean isDigit() to check if the character is a digit. Use them in combo:

///////////////////////////////////////////////////////////
// Create a container of digit-characters
String n = "2432902008176640000";
char[] narr = n.toCharArray();



///////////////////////////////////////////////////////////
// Populate a queue with characters
Queue<Character> q = new LinkedList<Character>();
for(int i=0; i<narr.length; i++) { 
    q.add(narr[i]);
}


///////////////////////////////////////////////////////////
// Print out the square of each character interpreted as a digit
int j = 0;
for(Character c : q) {
    z = -10000;
    if( c.isDigit() ) { 
        z = Character.digit(c,10);
    } else {
        throw new IllegalArgumentException("Malformed input. Numeric strings only.");
    }
    if(j<q.size()-1) {
        System.out.println(" , ");
    }
}

Flags





See also: