我在这里找不到我的错误?
import java.util.Scanner;
class Code {
public static void main (String[] args) {
Scanner a = new Scanner (System.in);
System.out.println("Please, Enter Array Size : ");
int size = a.nextInt();
double[] arr = new double[size];
System.out.println("Enter Array elements : ");
for (int i = 0; i < size; i++) {
arr[i] = a.nextDouble();
}
int max = arr[0];
int min = arr[0];
for (int i = 1; i < size; i++) {
if (max < arr[i]) {
max = arr[i];
}
if (min > arr[i]) {
min = arr[i];
}
}
System.out.println("maximum is : " +max);
System.out.println("minimum is : " +min);
}
}
答案1
由于数据类型不同,您会收到错误。您定义的数组是双精度数据类型,但min
和max
变量是int
类型。因此,使它们的double
数据类型如下:
double min,max;
如果你想保留min
andmax
的int
数据类型,那么你需要对数组元素进行类型转换,如下所示:
min=(int)a[0];
但不建议这样做。