我必须使用for
循环将用户输入的10个数字保存到数组中。之后,我必须使用增强的for
循环来查找数组中的最大值和最小值。我不知道如何在数组中保存数字。我也有问题从数组中找到最小和最大的值并显示它们。我在设置for
和highestvalue
的{{1}}循环部分出错了。
这是我的代码:
lowestvalue=inputnumber
答案 0 :(得分:0)
更改
number[inputNumber] = inputNumber;
到
number[counter] = inputNumber;
您希望将每个新数字添加到数组的counter
位置。
至于找到最小值,最大值。读取数组输入的相同循环可以做到这一点。将largestNumber
初始化为Integer.MIN_VALUE,将smallestNumber
初始化为Integer.MAX_VALUE。然后,每次获得新号码时,请将其与largestNumber
和smallestNumber
进行比较,如果新号码分别更高/更低,则更新它们。
答案 1 :(得分:0)
替换
number[inputNumber] = inputNumber;
与
number[counter] = inputNumber;
就是这样。至于查找mix和max,请在阵列上使用Collections.sort()
。第一个元素是min,最后一个元素是
答案 2 :(得分:0)
make the following changes
//create a scanner object
Scanner input= new Scanner (System.in);
//declare largestNumber
int largestNumber;
//declare smallestNumber
int smallestNumber ;
//declare inputNumber
int inputNumber = 0;
//declare array named number and set it to 10
int[] number = new int[10];
//display message
System.out.print ("Enter an integer: ");
//column headings
for (int counter = 0; counter < number.length; counter++)
{
//set number equal to next input
inputNumber = input.nextInt();
number[counter] = inputNumber;
// for loop that will check for largest and smallest no
}
smallestNumber = number[0];
largestNumber = number[0];
for(int i=1; i< number.length; i++)
{
if(number[i] > largestNumber)
largestNumber = number[i];
else if (number[i] < smallestNumber)
smallestNumber = number[i];
}
// System.out.printf("%s%8s\n", "index", "value");
// System.out.printf("%5d%8d\n", counter, number[inputNumber]);
System.out.printf("The largest value in the array is %d\nThe smallest value in the array is %d\n", largestNumber, smallestNumber);
另外:你不能以这种方式使用for循环
for (number[inputNumber]>=largestNumber && number[inputNumber]>=smallestNumber)
这是一个条件案例而非循环
答案 3 :(得分:0)
假设您不必按照用户输入的顺序存储数字,您可以进行排序插入。这意味着,对于输入的每个值,在维护排序数组的同时找到可插入此数字的索引(如果此索引处存在数字,则必须将其移动到右侧)
提供了一个排序数组,你可以在O(1)中找到min和max: min =数字[0]; max = number [n-1];
答案 4 :(得分:0)
我建议你尝试一下。让我知道它是否有效。: -
import java.util.Scanner;
public class Practice {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int num[]=new int[10];
int max=0,min=0;
for(int i=0;i<10;i++){
System.out.println("Enter number:-");
num[i]=in.nextInt();
if(num[i]>=max)
max=num[i];
if(num[i]<=min)
min=num[i];
}
min=num[0];
for(int i=0;i<10;i++){
if(num[i]<=min)
min=num[i];
}
System.out.println("The array elements are:-");
for(int i=0;i<10;i++)
System.out.print(num[i]+" ");
System.out.println();
System.out.println("Largest is:-"+max+" "+"Smallest is:"+min);
}
}