Java 如何计算ArrayList中的最小数?
我编写了一个程序,用户将输入10个数字,最终这些数字将存储在arraylist中 当用户输入完数字后,我必须在ArrayList中找到最小的数字并打印出来 我的代码:Java 如何计算ArrayList中的最小数?,java,arrays,algorithm,for-loop,arraylist,Java,Arrays,Algorithm,For Loop,Arraylist,我编写了一个程序,用户将输入10个数字,最终这些数字将存储在arraylist中 当用户输入完数字后,我必须在ArrayList中找到最小的数字并打印出来 我的代码: package findingsmallestandbiggestnum; import java.util.Scanner; import java.util.ArrayList; public class FindingSmallestAndBiggestNum { public static void main
package findingsmallestandbiggestnum;
import java.util.Scanner;
import java.util.ArrayList;
public class FindingSmallestAndBiggestNum {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<Integer> uInput = new ArrayList();
for (int i = 1; i <= 10; i++) {
System.out.println("Enter 10 numbers: ");
uInput.add(input.nextInt());
}
System.out.println("You have entered: " + uInput);
//calculate the smallest integer in the array
//for (int i = 0; i < uInput.length; i++) {
//}
}
}
包查找smallestandbiggestnum;
导入java.util.Scanner;
导入java.util.ArrayList;
公共类查找smallestandbiggestnum{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
ArrayList uInput=新的ArrayList();
对于(int i=1;i使用以下公式:
Collections.min(uInput);
只需运行列表并保存最小的元素:
int min = uInpunt.get(0);
for (int i = 1; i < uInput.size(); i++) {
int curr = uInput.get(i);
if (curr < min) {
min = curr;
}
}
System.out.println ("The smallest number is: " + min);
int min=uInpunt.get(0);
对于(int i=1;i
这是一个循序渐进的版本。也适用于没有数字的情况
Integer smallest;
for ( Integer num : uInput ) {
if( smallest == null || num < smallest ) {
smallest = num;
}
}
最小整数;
for(整数num:uInput){
if(最小值==null | | num<最小值){
最小=num;
}
}
您可以使用
一个潜在的解决办法是建立一个最小的索引。在我的头脑中,这是一个未经测试的索引
int smallest = 0;
for(int i = 0; i < uInput.size(); i++) {
if (uInput.get(i) < smallest) {
smallest = uInput.get(i);
}
}
你已经知道你想要最小的数字。在那一刻,想想你自己的电脑-你会如何寻找最小的数字,给定10个数字?一旦你有了,剩下的就刚好到位。旁注:包名应该清晰简洁。你如何找到最小值?当你对最小值/最大值感兴趣时,在阅读一系列无序数字时,你会怎么做?OP可能是在做作业,所以Collections.min()
可能不是一个可行的解决方案。@GriffeyDog,也许但OP应该在问题中说明这一点。不过,您应该将最小的初始化为null
,对吧?另外,for
应该是小写。我认为这不适用于局部变量。
int smallest = 0;
for(int i = 0; i < uInput.size(); i++) {
if (uInput.get(i) < smallest) {
smallest = uInput.get(i);
}
}
int smallest = uInput.get(0);