我有一个单词列表,我已经变成了一个字符串数组。我要求用户输入一个字符,我的代码必须找到该字符是否在单词列表中的一个单词中,并将该单词添加到新列表中并从原始列表中删除。我怎么做?这里的
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 :(得分:-1)
如果不需要创建String数组,可以尝试克隆名为newList的ArrayList
ArrayList<String> newlist2 = (ArrayList<String>)newList.clone();
然后从这个列表中你可以检查哪些字符串有char ch和 删除。这种方法应该更容易,因为list具有删除元素的功能。
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将只有具有char ch
的字符串答案 1 :(得分:-1)
而不是像你那样使用for循环计数每个字符
for(char ch:b.toCharArray()){...
你可以这样做:
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)
}
}
应该有用。