2016-12-03 4 views
-1

Я новичок в Java, я создал массив из 15 случайных чисел, и я нашел минимальное и максимальное значение. Теперь мне нужно объединить индекс максимального и минимального значения.Поиск случайного индекса

package homework7; 

import java.util.Arrays; 
import java.util.Random; 

/** 
* 
* @author a 
*/ 
public class Homework7 { 

    public static void main(String[] args) { 
     // Name and Homework Number 
     System.out.println("A" + " \nHomework 7"); 

     int[] numbers = new int[15]; 
     //Generates 15 Random Numbers in the range 1 - 1000 
     for (int i = 0; i < numbers.length; i++) { 
      numbers[i] = (int) (Math.random() * 1000 - 1); 
     }//end for loop 
     System.out.println("\nContents of the Array:\n" + Arrays.toString(numbers)); 

     // Calling getMax() method for getting max value 
     int max = getMax(numbers); 
     System.out.println("\nMaximum Value " + max + " is located at index "); 

     // Calling getMin() method for getting min value 
     int min = getMin(numbers); 
     System.out.println("Minimum Value " + min + " is located at index "); 

    } 

    // Method for getting the maximum value 
    public static int getMax(int[] inputArray) { 
     int maxValue = inputArray[0]; 
     for (int i = 1; i < inputArray.length; i++) { 
      if (inputArray[i] > maxValue) { 
       maxValue = inputArray[i]; 
      } 
     } 
     return maxValue; 
    } 

    // Method for getting the minimum value 
    public static int getMin(int[] inputArray) { 
     int minValue = inputArray[0]; 
     for (int i = 1; i < inputArray.length; i++) { 
      if (inputArray[i] < minValue) { 
       minValue = inputArray[i]; 
      } 
     } 
     return minValue; 

    } 
} 
+3

Так в чем же проблема? – Mureinik

+1

Добро пожаловать в переполнение стека! Похоже, вы просите о помощи на дому. Хотя у нас нет проблем с самим собой, обратите внимание на эти [dos and don'ts] (http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions/338845 # 338845), и соответственно отредактируйте свой вопрос. –

+0

Способ поиска индекса минимального и максимального значений этого случайного массива –

ответ

0

добавить переменную, чтобы отметить i, когда вы получаете новый мин/макс значение, если блок отметить i.

0

Там могут быть различные способы решения, ниже возможные решения я могу думать:

  • наивного образом можно было бы добавить больше функций для сканирования по массиву, чтобы вернуть индекс минимального и максимального значения (это будет лишнее сканирование и больше работы).

  • Другим способом может быть добавление глобальных переменных для отслеживания индекса, в котором произошли max и min.

  • Кроме того, в качестве предложения вы можете обновить min и max в одиночной функции, объединив ваши две функции и обновив min и max массива как глобальные переменные. Это будет делать все на одном сканировании массива.

Смежные вопросы