2017-04-10 10 views
-2

私は文字列の配列になっている単語のリストを持っています。私は、文字を入力するようにユーザーに依頼し、コードはその文字が単語リストの単語の1つに含まれているかどうかを見つけ、その単語を新しいリストに追加して元のリストから削除する必要があります。それ、どうやったら出来るの?ここでは文字列の配列を作ることは、あなたがこのリストから次にnewList単語リストの単語内の文字を検索し、元のリストから削除して新しいリストに追加します

ArrayList<String> newlist2 = (ArrayList<String>)newList.clone(); 

と呼ばれるあなたのArrayListをクローニング試すことができますのために必要でない場合は、char型のCHと 削除していた文字列をチェックすることができます

String[] temps2 = newList.toArray(new String[0]); //turns list to string array. 
System.out.println("\n pick a letter."); 
letter_1 = input.next()charAt(0); 
for (String b : temps2){ 
for(char ch : b.toCharArray()){ 
    if letter_1==ch){ 
     temps2.remove(b);//don't think you can do that. 
+0

ようこそスタックオーバーフロー!どのようにサイトが働いているのか、トピックに関する質問はこちらをご覧ください(http://stackoverflow.com/tour)。 「なぜ誰かが私を助けることができますか?」実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) –

+1

Stringには、使用できるメソッドがあります。Java String APIを参照してチェックしてください。 –

+0

https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#remove(java.lang.Object) – Compass

答えて

-1

です。リストには要素を削除する関数があるので、このアプローチはあなたにとってより簡単でなければなりません。

ArrayList<String>finallist = new ArrayList<String>(); 
int i = 0 ; 
for(String s : newlist2) 
{ 
    for(char c : s.toCharArray()) 
    { 
     if(ch == c) 
     { 
     finallist.add(newList2.remove(i)); 
     break; 

     } 
    i++ 

    } 
} 

この方法のfinallistは、代わりにあなたが

for(char ch : b.toCharArray()){...

を行ったようにあなたはこのような何かを行うことができ、すべての文字をカウントループのためにあるのchar型のCH

+0

スレッド「main」の例外java.util.ConcurrentModificationException [第5、第6、第3] \t at java.util.AbstractList $ Itr.checkForComodification(AbstractList.java:372) \t at java.util。 AbstractList $ Itr.next(AbstractList.java:343) \t at Game.main(Game.java:71) –

-1

を持っている唯一の文字列を持っています。

for(int chnum ; chnum = b.length(); chnum++){ 
    char[] chararray = b.toCharArray(); 
    if(letter_1 == chararray[chnum]){ 
     chararray[chnum] = ... (remove it since you have it's array location) 
    } 
} 

が有効です。

関連する問題