Introduction to Java Programming编程题9.12<变位词>
2015-08-27 22:22
591 查看
/* Enter the first string: silent Enter the second string: listen Anagram Enter the first string: FlowerDance Enter the second string: danceFlower Not anagram */ import java.util.Scanner; import java.util.Arrays; public class StringIsAnagram { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter the first string: "); String s1 = input.next(); System.out.print("Enter the second string: "); String s2 = input.next(); for (int i = 0; i < s1.length(); i++) { if (!Character.isLetter(s1.charAt(i)) || (!Character.isLetter(s2.charAt(i)))) { System.out.print("The string must be letters."); System.exit(0); } } System.out.println(isAnagram(s1, s2) ? "Anagram" : "Not anagram"); } public static boolean isAnagram(String s1, String s2) { int[] lowerCase1 = new int[26]; int[] upperCase1 = new int[26]; int[] lowerCase2 = new int[26]; int[] upperCase2 = new int[26]; countOccusLetters(lowerCase1, upperCase1, s1); countOccusLetters(lowerCase2, upperCase2, s2); if (Arrays.equals(lowerCase1, lowerCase2) && Arrays.equals(upperCase1, upperCase2)) return true; else return false; } public static void countOccusLetters(int[] lowerCase, int[] upperCase, String s) { for (int i = 0; i < s.length(); i++) { if (Character.isLowerCase(s.charAt(i))) lowerCase[s.charAt(i) - 'a']++; else upperCase[s.charAt(i) - 'A']++; } } }
相关文章推荐
- 变位词的相关知识
- cci-Q1.4 判断两个字符串是否为变位词
- POJ 1318
- Chapter 1 | Arrays and Strings--判断变位词和字符串空格替换为‘ ’
- 变位词问题
- Chaptert1--Arrays_and_Strings
- Programming Perals 变位词实现
- 变位词程序的实现
- 变位词问题
- 《编程之法》1.2字符串的包含
- 关于字符串的算法
- 比较两个字符串是否为变位词
- 变位词问题
- 变位词
- Valid Anagram -- leetcode
- 变位词(兄弟字符串)
- 变位词问题(字典问题)
- FZU 1410 变位词
- 对字符串数组进行排序,将变位词排在相邻位置
- 变位词快速分离