Вопрос новичка в Java: как создать метод, который принимает несколько значений и возвращает их в main? - PullRequest
0 голосов
/ 18 октября 2018

Я изучаю Java (на самом деле я не понимаю методы), и мой сложный план сводит меня с ума, поэтому я был бы очень признателен, если бы один из вас, превосходный программист, мог помочь мне с этим или дать мне знать, чтоэто отстой или не работает. Пожалуйста, прочитайте текст в конце, иначе вы можете тратить свое время. :-D

Я хочу следующее: основной метод и его класс включает парумассивов:

String AnimalList[] = { "frog", "dog", "rabbit", "donkey", "cow", "chicken" };
String HumanList[] = { "man", "woman", "child", "grandpa", "grandma", "baby" }; 

... 3 животных:

String Animal1; String Animal2; String Animal3;

... и 3 человека:

String Human1; String Human2; String Human3;

Я хочу создать Генераторный метод , который случайным образом выбирает 3 записи массива, сравнивает их с другими выборками, чтобы избежать дублирования, и затем отправляет их обратно в main.Что-то вроде:

for 
(Animal1 = AnimalList[(byte)(Math.random()*AnimalList.length), 
Animal2 = AnimalList[(byte)(Math.random()*AnimalList.length), 
Animal3 = AnimalList[(byte)(Math.random()*AnimalList.length)]; 
Animal1.equals(Animal2) || Animal1.equals(Animal3) || Animal2.equals(Animal3) ;
Animal2 = AnimalList[(byte)(Math.random()*AnimalList.length), 
Animal3 = AnimalList[(byte)(Math.random()*AnimalList.length)] );

Я хочу, чтобы "Animal1" и "AnimalList" автоматически выбирались всякий раз, когда я использую этот метод в строках для работы с любым другим списком, чтобы я мог в основном отправляет Humans1, Human2 и Humans3 и HumansList в метод Generator и получает их значения, определенные в main , точно так же, как это работало для Animal1-3 и AnimalList.Мне часто нужны эти операции в моем проекте.Это сэкономило бы мне много места в моем коде, и это выглядит лучше отсортированным.В случае, если один из вас покажет мне, как это сделать или этот план просто не работает ... СПАСИБО !!! (Извините, если в моем коде есть ошибки)

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Вы идете и делаете следующее:

  • Храните список со всеми животными где-нибудь.Вам следует рассмотреть возможность использования List вместо массива.
  • Сделайте копию полного списка, например, с помощью copy = new ArrayList<>(fullList).
  • . Выберите случайный индекс, используя Random.nextInt(copy.size()).Поместите это в новый список, где вы храните трех животных.Удалите элемент из копии, чтобы его нельзя было выбрать снова.
  • Повторите эти шаги два раза и верните новый список с тремя животными.
0 голосов
/ 19 октября 2018

Во-первых, обратите внимание, что поля традиционно начинаются со строчных букв.

Чтобы помочь вам запутаться в методах, я написал метод, который выбирает случайный элемент массива.В основном методе я использовал этот метод для выбора случайного животного и случайного человека.После присвоения эти поля можно повторно использовать в main и в других методах класса.

Я оставляю часть о выборе трех из них на ваше усмотрение;надеюсь, это поможет вам начать.Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.

public class HumansAndAnimals
{
  static String animalList[] = { "frog", "dog", "rabbit", "donkey", "cow", "chicken" };
  static String humanList[] = { "man", "woman", "child", "grandpa", "grandma", "baby" }; 

  static String animal1; static String animal2; static String animal3;

  static String human1; static String human2; static String human3;

  public static void main(String[] args)
  {
    animal1 = chooseFromArray(animalList);
    System.out.println("First animal: " + animal1);

    human1 = chooseFromArray(humanList);
    System.out.println("First human: " + human1);
  }

  private static String chooseFromArray(String[] arr) {
    return arr[(byte)(Math.random()*arr.length)];
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...