我已经完成了其中的大部分工作。任何人都给我一个小提示,告诉我如何在列表中找到 10 的个数。 例如。输入将是
[10,4,6,10,6,7]
输出必须是
[4,6,6,7,0,0]
import java.util.ArrayList;
import java.util.List;
public class prob64 {
public static List output;
public static void getVal(List ll)
{
int count=0;
List ll1=new ArrayList();
for(int i=0;i<ll.size();i++)
{
if((int)ll.get(i)!=10)
{
ll1.add(ll.get(i));
}
if((int)ll.get(i)==10)
{
count++;
}
}
if(count>0)
{
ll1.add(8);
}
output=ll1;
System.out.println(output);
}
public static void main(String[] args) {
List<Integer> ll=new ArrayList();
ll.add(10);
ll.add(1);
ll.add(10);
ll.add(2);
prob64.getVal(ll);
}
}
我得到的当前输出是 [1,2,0]
。我应该得到 [1,2,0,0]
最佳答案
List.remove(Object)
删除第一个匹配元素。它还返回一个 boolean 值,指示删除是否真的完成,所以这应该有效:
while(ll.remove(10)) {
ll.add(0);
}
也就是只要找到10去掉,就加上0。请注意,List.add
将元素添加到列表的末尾,这是您的要求(如果我是正确的话)。
我想这是某种学习练习,但我建议您为您的变量找到更好的名称(ll
和 ll1
不会使您的函数易于编写阅读)。
关于java - 在 JAVA 中删除列表中的所有 10 并在列表末尾附加相同数量的 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15185981/