View difference between Paste ID: V7z0swHV and 8xRPLApm
SHOW: | | - or go back to the newest paste.
1
// Hugh Gordon - Palindrome Phone Number
2
import java.util.*;
3-
import java.text.*;
3+
4
import java.text.NumberFormat;
5
6
public class paliphone {
7
  public static void main(String[] args) throws IOException {
8
    String phoneNumber, justNumbers;
9
    StringTokenizer st;
10
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11
    // Prompt user for a phone number
12
    prompt("Enter a phone number (XXX) XXX-XXXX: "); phoneNumber = br.readLine();
13
    // Remove parantheses, hyphens, and spaces to get just the numbers
14
    justNumbers = toNumberString(phoneNumber);
15
    // Print whether the number is a palindrome
16
    print(isPalindrome(justNumbers)+"");
17
    // Print the number formatted with commas
18
    print(formatNumbers(justNumbers));
19
  }
20
  public static String toNumberString(String str) {
21
    // Break the string into tokens (Removes " " "(" ")" and "-" characters)
22
    StringTokenizer st = new StringTokenizer(str, " ()-");
23
    StringBuffer returnStr = new StringBuffer("");
24
    // Put the tokens back together without the delimiters
25
    while (st.hasMoreTokens()) {
26
      returnStr.append(st.nextToken());
27
    }
28
    return returnStr.toString();
29-
 /* for (i = 0; (i < chars.length / 2) && isPalindrome; i++) {
29+
30-
      if (chars[i] === chars[chars.length-1-i]) isPalindrome = false;
30+
31-
    } */
31+
32
    char[] chars = str.toCharArray();
33
    StringBuffer buf = new StringBuffer(str);
34
    // check if the string is the same as it is in reverse
35
    boolean isPalindrome = buf.toString().equalsIgnoreCase(buf.reverse().toString());
36
    return isPalindrome;
37
  }
38
  public static String formatNumbers(String numbers) {
39
    // Convert the string into a long number
40
    long num = Long.parseLong(numbers);
41
    // Declare an instance of NumberFormat
42
    NumberFormat nf = NumberFormat.getInstance();
43
    // Format the string with NumberFormat
44
    String formatted = nf.format(num);
45
    return formatted;
46
  }
47
  // Shortcuts for System.out.print and System.out.println respectively
48
  public static void prompt(String out) { System.out.print(out); }
49
  public static void print(String out) { System.out.println(out); }
50
}