Advertisement
brilliant_moves

Alphabetiser.java

Apr 11th, 2020
1,268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.45 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class Alphabetiser {
  4.  
  5.     /**
  6.       * Alphabetiser.java by Chris Clarke, 11.04.2020
  7.       * Find out whether or not two strings are anagrams of each other.
  8.       */
  9.  
  10.     private static final String letters = "abcdefghijklmnopqrstuvwxyz";
  11.  
  12.     public int[] alphabetise (String s) {
  13.         s = s.toLowerCase().strip();
  14.         int[] alphabet = new int[26];
  15.         // count occurences of each letter of the alphabet
  16.         for (int i=0; i<alphabet.length; i++) {
  17.             alphabet[i] = 0;
  18.             for (int j=0; j<s.length(); j++) {
  19.                 if (s.charAt(j) == letters.charAt(i)) {
  20.                     alphabet[i]++;
  21.                 }
  22.             }
  23.         }
  24.         return alphabet;
  25.     }// alphabetise()
  26.    
  27.     public boolean areEqual(String str1, String str2) {
  28.         int[] myAlpha1 = alphabetise (str1);
  29.         int[] myAlpha2 = alphabetise (str2);
  30.         for (int i=0; i<myAlpha1.length; i++) {
  31.             //System.out.println (letters.charAt(i) + ": " + myAlpha1[i]);
  32.             if (myAlpha1[i] != myAlpha2[i]) {
  33.                 return false;
  34.             }
  35.         }
  36.         return true;
  37.     }// areEqual()
  38.  
  39.     public static void main (String[] args) {
  40.         Alphabetiser alph = new Alphabetiser();
  41.         Scanner in = new Scanner (System.in);
  42.         String str1, str2;
  43.         System.out.print ("Enter first string: ");
  44.         str1 = in.nextLine();
  45.         System.out.print ("Enter second string: ");
  46.         str2 = in.nextLine();
  47.         if (alph.areEqual (str1, str2)) {
  48.             System.out.println ("They are anagrams.");
  49.         } else {
  50.             System.out.println ("They're NOT anagrams.");
  51.         }
  52.     }// main()
  53. }// class Alphabetiser
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement