在我的问题中,我有一个案例,我想在我指定的单词后删除元素。这是我的代码,我删除元素本身,但如何删除元素后。它有点棘手,因为我有一个while循环,从文件中读取所有输入。然后它将其存储在名为words的数组列表中。
File file1 = new File(args[0]);
File file2 = new File(args[1]);
Scanner input = new Scanner (file1);
while (input.hasNext())
{
String word = input.next();
words.add(word);
if(word.contains("e")){
words.remove(word);
}
}
输出: [测试,1,3,3,-1,-2,3,测试,2,1,2,1,-1,测试,3,5,5,5,4,-2,1,3, -2,-5,1,4,4,-2,-3,-3,4,5,1,-2,5,3,-2,5,2,3,-4,测试,4 ,3,5,1,2,3,2,-3,1,-2,-1,-3,-2,3,-1] 我想在每个地方测试后删除下一个元素并测试它自己。
答案 0 :(得分:0)
File file1 = new File(args[0]);
File file2 = new File(args[1]);
Scanner input = new Scanner (file1);
while (input.hasNext())
{
String word = input.next();
if(!word.contains("e"))
words.add(word);
else
input.next();
}
这样的事情?它将检查该单词是否包含e
拳头,如果不包含,则会将其添加到列表中。但如果确实如此,它将不会添加它,它也只会读取下一个输入并且不执行任何操作。
答案 1 :(得分:0)
可能是语法问题,但这是我要做的,警告:psudocode
var inputArray = input.split(',');
var removeValue = 0;
//itterate through array delimited by commas
for (i = 0; i < inputArray.count(); i++)
{
//if flagged for removal, remove
if (removeValue = 1)
inputArray.removeAt(i);
//flag next value for removal or not
if (inputArray[i] == 'test')
removeValue = 1;
else
removeValue = 0;
}