我需要从用户那里获取一个号码,并将它们分成单个数字并将其存储到数据结构中,而不插入任何已插入的号码。
我的程序对于给出一些余数的数字工作正常,但对于给出余数为零的数字则不起作用。
现在我不想让我的代码动态化,我只是通过更改 i 进行测试
我的代码是这样的:
public class Samp {
public static void main(String[] args) {
int i = 555,n;
List<Integer> digits = new ArrayList<Integer>();
while(i > 0) {
n = i % 10;
if(digits.contains(n)){
break;
}else{
digits.add(n);
}
i /= 10;
}
System.out.println(digits);
}
}
请帮助我编写适用于所有数字的代码。
最佳答案
如果您希望防止重复,您应该使用 HashSet
而不是 ArrayList
。
您只需开始将值放入 HashSet
即可。
这是代码片段:
public static void main (String[] args) throws Exception {
int i = 555;
Set<Integer> set = new HashSet<>();
while(i > 0) {
set.add(i % 10);
i /= 10;
}
System.out.println(set);
}
输出:
[5]
关于java - 10,100,200,300...测试时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36515526/