目前尝试从键盘输出最小和最多25个数字,尽管我在Scanner类中遇到输入所述数字的麻烦。我不断收到错误,无法将Int []转换为Int。
这是一个问题:
(MinMax.java)从键盘读入25个整数,并将它们存储在一个数组中。找到数组中的最大值和最小值,并在屏幕上显示它们。
这是我目前的代码:
import java.util.Scanner;
import java.util.Arrays;
public class MinMax{
public static void main (String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Please enter 25 numbers.");
int[] numbers = sc.nextInt();
System.out.println("Minimum Value = " + getMinValue(numbers));
System.out.println("Maximum Value = " + getMaxValue(numbers));
}
public static int getMaxValue(int[] numbers) {
int maxValue = numbers[0];
for(int i=1;i<numbers.length;i++){
if(numbers[i] > maxValue){
maxValue = numbers[i];
}
}
return maxValue;
}
//Find minimum (lowest) value in array using loop
public static int getMinValue(int[] numbers){
int minValue = numbers[0];
for(int i=1;i<numbers.length;i++){
if(numbers[i] < minValue){
minValue = numbers[i];
}
}
return minValue;
}
}
你不能这样做:
int[] numbers = sc.nextInt();
这是因为sc.nextInt()
返回int
而不是int
s数组。
相反,您需要创建一个读取25个整数的循环:
int[] numbers = new int[25];
for(int i = 0; i < 25; i++) {
numbers[i] = sc.nextInt();
}
问题是你的主要功能。这样做:
public static void main (String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter 25 numbers.");
int[] numbers = new int[25];
for (int i = 0; i < 25; i++) {
System.out.print("Number " + (i+1) + ": ");
numbers[i] = sc.nextInt();
}
System.out.println("Minimum Value = " + getMinValue(numbers));
System.out.println("Maximum Value = " + getMaxValue(numbers));
}