【发布时间】:2015-04-22 15:31:53
【问题描述】:
如何在不使用 java sort() 方法和整数数组列表中的排序技术的情况下找到最小的数字?我用Collections.min(),我的sn-p是:
public class SmallestNum {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter size of Array::");
int sizee=sc.nextInt();
List<Integer> numbers=new ArrayList<Integer>();
for(int i=0;i<sizee;i++) {
numbers.add(sc.nextInt());
}
//Collections.sort(numbers);
System.out.println(" Search value:");
int num=sc.nextInt();
Integer mini=Collections.min(numbers);
System.out.println("Minimum Value is:"+mini);
for(int i=0;i<sizee;i++) {
System.out.println("Minimum:"+(mini));
*if(mini.equals(numbers)) {
int smallSec=Integer.MAX_VALUE;
}
/*System.out.println(" Search value:");
int num=sc.nextInt();
}
System.out.println(numbers.get(num-1));
*/
}
}
}
这个程序不工作。请提出替代逻辑。我不明白如果用户想搜索下一个最小的数字怎么办?
【问题讨论】:
-
如果您的程序无法运行,您会收到任何错误吗?
-
@MadConan codereview 用于代码改进,而不是作为调试代码的平台。
-
if (a > b) then swap(a,b) :: at嵌套for循环
-
if(mini.equals(numbers))将Integer与List<Integer>进行比较。 -
这部分代码是否需要注释:*if(mini.equals(numbers)) { int smallSec=Integer.MAX_VALUE; } ?好像编译不出来。
标签: java arrays sorting arraylist