第二大数字 ArrayList [英] Second highest number ArrayList
本文介绍了第二大数字 ArrayList的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以到目前为止我得到了这个代码:
So I got this code so far:
int secondLargest = list.get(0);
int largest = list.get(0);
for (int i = 0; i < list.size(); i++)
{
if(list.get(i) > largest)
{
secondLargest = largest;
largest = list.get(i);
if(list.get(i) > secondLargest && list.get(i) != largest)
{
secondLargest = list.get(i);
}
}
}
System.out.print("Second biggest number ");
return secondLargest;
问题是当我使用这段代码时(名单是:)
The problem is that when I use this code (the list is:)
list2.add(1);
list2.add(2);
list2.add(10);
list2.add(9);
list2.add(8);
list2.add(7);
对第二大数字的搜索"在 2 处停止,因为 10 是最大数字.我该如何解决这个问题?
the "search" for the second highest number stops at 2, because 10 is the highest number. How do I fix this?
推荐答案
将第二个
if 条件
放在第一个 if 条件之外.
Put the second
if condition
outside the first if condition.
因为 second large
小于 largest
所以你永远不会在 if
块中找到它来检查最大值.>
Because second largest
is smaller than largest
so you will never find it in the if
block which check for the largest value.
int secondLargest = (int) list.get(0);
int largest = list.get(0);
for (int i = 1; i < list.size(); i++) {
if(list.get(i) > largest) {
secondLargest = largest;
largest = list.get(i);
}
if(list.get(i) > secondLargest && list.get(i) != largest) {
secondLargest = list.get(i);
}
}
System.out.print("Second biggest number ");
return secondLargest;
这篇关于第二大数字 ArrayList的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文