查找最小值和最大值 JAVA
Finding min and max value JAVA
我正在尝试学习一些 JAVA,目前我正在做一些基本程序,我需要从文件中读取然后找到最小值和最大值,但在我的代码中我只能找到最大值并且 MIN 值不起作用。它只是显示我分配的值。有人可以帮我吗?到目前为止,这是我的代码。
public class uzduotis {
public static void main(String[] args) {
int[] data = fileReading("skaiciai");
System.out.println(Arrays.toString(data));
}
// Reads numbers from file
public static int[] fileReading(String failas) {
int minVal = 0, maxVal = 0;
try {
File f = new File(failas);
Scanner s = new Scanner(f);
int ctr = 0;
while (s.hasNextInt()) {
ctr++;
s.nextInt();
}
int[] arr = new int[ctr];
Scanner s1 = new Scanner(f);
for (int i = 0; i < arr.length; i++) {
arr[i] = s1.nextInt();
maxVal = Math.max(maxVal, arr[i]);
minVal = Math.min(minVal, arr[i]);
}
System.out.println("Largest is " + maxVal);
System.out.println("Smallest is " + minVal);
return arr;
} catch (Exception e) {
return null;
}
}
}
您已将 minVal 设置为 0,这个数字已经很小了。把它改成一个很大的数字就是你需要做的。
这可能是因为您将 minVal 设置为 0,所以您的正整数输入的 none 小于它。
在声明数组后添加 minVal = arr[0];
。
你需要这个:
minVal = Integer.MAX_VALUE;
否则你将永远不会得到比你开始的 0 更小的数字。
我正在尝试学习一些 JAVA,目前我正在做一些基本程序,我需要从文件中读取然后找到最小值和最大值,但在我的代码中我只能找到最大值并且 MIN 值不起作用。它只是显示我分配的值。有人可以帮我吗?到目前为止,这是我的代码。
public class uzduotis {
public static void main(String[] args) {
int[] data = fileReading("skaiciai");
System.out.println(Arrays.toString(data));
}
// Reads numbers from file
public static int[] fileReading(String failas) {
int minVal = 0, maxVal = 0;
try {
File f = new File(failas);
Scanner s = new Scanner(f);
int ctr = 0;
while (s.hasNextInt()) {
ctr++;
s.nextInt();
}
int[] arr = new int[ctr];
Scanner s1 = new Scanner(f);
for (int i = 0; i < arr.length; i++) {
arr[i] = s1.nextInt();
maxVal = Math.max(maxVal, arr[i]);
minVal = Math.min(minVal, arr[i]);
}
System.out.println("Largest is " + maxVal);
System.out.println("Smallest is " + minVal);
return arr;
} catch (Exception e) {
return null;
}
}
}
您已将 minVal 设置为 0,这个数字已经很小了。把它改成一个很大的数字就是你需要做的。
这可能是因为您将 minVal 设置为 0,所以您的正整数输入的 none 小于它。
在声明数组后添加 minVal = arr[0];
。
你需要这个:
minVal = Integer.MAX_VALUE;
否则你将永远不会得到比你开始的 0 更小的数字。