2016-03-08 23 views
-4

檢查單詞是否是迴文。如果迴文,將這些字母存儲在數組列表中。 刪除數組列表中的所有元音並存儲在另一個數組列表中。輸出所有的元音。如果不是迴文,則返回 該程序。Palindrome,arraylist,

import java.util.*; 
    class Palindrome 
    { 
     public static void main(String[] args) 
     { 
     ArrayList<String> words = new ArrayList<String>(); 
     Scanner scan = new Scanner(System.in);  
     while(scan.hasNext())  
      words.add(scan.next()); 
     System.out.println("Is it a palindrome? " + 
       isPalindrome(words)); 
     } 
     static boolean isPalindrome(ArrayList<String> w) 
     { 
     int front = 0, back = w.size() - 1; 
     while(front < back) 
     if (!w.get(front++).equals(w.get(back--))) 
      return false; 
     return true; 
     } 
    } 

我有一個迴文代碼,但我不太清楚問題是什麼,我不知道如何回答問題。任何人都可以給我一個我很容易理解的答案或暗示嗎?老實說,我不知道該如何開始。我對此很新。


package stackoverflow; 

import java.util.ArrayList; 

public class PalindromeWierd { 
    public static void main(String[] args) { 
     ArrayList<Character> palim = new ArrayList<Character>(); 
     palim.add('b'); 
     palim.add('c'); 
     palim.add('d'); 
     palim.add('f'); 
     palim.add('g'); 
    palim.add('h'); 
    palim.add('j'); 
    palim.add('k'); 
    palim.add('l'); 
    palim.add('m'); 
    palim.add('n'); 
    palim.add('p'); 
    palim.add('q'); 
    palim.add('r'); 
    palim.add('s'); 
    palim.add('t'); 
    palim.add('v'); 
    palim.add('w'); 
    palim.add('x'); 
    palim.add('y'); 
    palim.add('z'); 
     System.out.println("Palim with vowels: "); 
     for (Character character : palim) { 
      System.out.print(character); 
     } 
     System.out.println(); 

     ArrayList<Character> palimWithoutVowels = new ArrayList<Character>(); 
     for (Character character : palim) { 
      if (character != 'a' && character != 'e' && character != 'i' 
        && character != 'o' && character != 'u') { 
       palimWithoutVowels.add(character); 
      } 
     } 
     System.out.println("Palim without vowels: "); 
     for (Character character : palimWithoutVowels) { 
      System.out.print(character); 
     } 
     System.out.println(); 

    } 
} 
+0

* 「檢查**字**是迴文」 *這意味着輸入是**一個字**,而不是字的列表。 **列表適用於單詞的字母**。 – Andreas

+0

我所理解的是我必須輸入一個palindre代碼,它由palindre組成,以確定用戶如果是否是palindre會給出的單詞。我不知道如何去除數組列表中的所有元音,並存儲在另一個數組列表中。 – Bella

+0

刪除元音你必須在字符串上迭代並檢查每個字符是否是a,e,i,o或u。 –

回答

0
  1. 創建一個新的ArrayList。
  2. 將所有輔音字符複製到這個新數組中。不要複製元音。所以你會得到一個沒有元音的新數組列表。

例如arraylist1 = m-a-d-a-m現在針對 arraylist1的每個字符求助,並將輔音複製到您的新arralylist,arraylist2。

arraylist2 = M-d-M

package stackoverflow; 

import java.util.ArrayList; 

public class PalindromeWierd { 
    public static void main(String[] args) { 
     //palim contains a palindrome word -> madam 
     ArrayList<Character> palim = new ArrayList<Character>(); 
     palim.add('m'); 
     palim.add('a'); 
     palim.add('d'); 
     palim.add('a'); 
     palim.add('m'); 
     System.out.println("Palim with vowels: "); 
     for (Character character : palim) { 
      System.out.print(character); 
     } 
     System.out.println(); 

     ArrayList<Character> palimWithoutVowels = new ArrayList<Character>(); 
     for (Character character : palim) { 
      if (character != 'a' && character != 'e' && character != 'i' 
        && character != 'o' && character != 'u') { 
       palimWithoutVowels.add(character); 
      } 
     } 
     System.out.println("Palim without vowels: "); 
     for (Character character : palimWithoutVowels) { 
      System.out.print(character); 
     } 
     System.out.println(); 

    } 
} 
+0

您能告訴我一些示例代碼嗎?所以我可以關注。 – Bella

+0

當然。我正在更新我的帖子。 –

+0

好的,謝謝,我會等待 – Bella