Как определить случайным образом несколько переменных в переключателе? - PullRequest
0 голосов
/ 11 октября 2018

Я нуб в Java и мне нужна помощь с этим.Интересно, как получить случайное имя для каждой из строк nameOne, nameTwo и NameThree без дублирования всего оператора switch.Может кто-нибудь дать мне совет, как это сделать, не вздымая мой код?Мой фактический список имен очень длинный.

public class multipleNamesPicker {public static void main(String[] args) {

    String nameOne = null;
    String nameTwo = null;
    String nameThree = null;
    char gender1 = 'a'; 
    char gender2 = 'a';
    char gender3 = 'a';

    byte randomNumber1 = (byte)(Math.random()*2+1);
    switch(randomNumber1) {
      case 1: gender1 = 'w';
      case 2: gender1 = 'm';
    }

    byte randomNumber2 = (byte)(Math.random()*5+1);
    if(gender1 == 'w'){
        switch(randomNumber2) {
           case 1: nameOne = "Edna";
           case 2: nameOne = "Martha";
           case 3: nameOne = "Berta";
           case 4: nameOne = "Margaret";
           case 5: nameOne = "Anna";
        }
     }

     else{
        switch(randomNumber2) {
          case 1: nameOne = "Peter";
          case 2: nameOne = "Paul";
          case 3: nameOne = "Pablo";
          case 4: nameOne = "Henry";
          case 5: nameOne = "George";
        }
     }

    System.out.println(nameOne + ", " + nameTwo + " and " + nameThree);}
}

1 Ответ

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

Одним простым способом было бы поместить их в два Array (один для женских имен и один для мужских имен), а затем получить что-то вроде

if(gender1 == 'w'){
    nameOne = femaleNames[randomNum];
}

Где femaleNames это ваш Array женских имен и randomNum - ваше случайное число.Просто убедитесь, что randomNum находится в пределах вашего Array

...