Q:

Как сделать, чтобы String str = любому значению из массива?

нужно чтобы String str = любому значению из массива, чтобы можно было написать 
public static void say() {

    Scanner in = new Scanner(System.in);
    Random random = new Random();

    String str = in.nextLine();

    switch(str) {
        case("Привет"):
            System.out.println(HELLO[random.nextInt(HELLO.length)]);break;
        case("Привет!"):
            System.out.println(HELLO[random.nextInt(HELLO.length)]);break;
        case("привет"):
            System.out.println(HELLO[random.nextInt(HELLO.length)]);break;

    }
    say();

нужно чтобы по несколько раз не писать case и не писать повторно Sout.

A:

Наверное Вам нужно что то подобное:
Scanner in = new Scanner(System.in);
Random random = new Random();
String str = in.nextLine();

Map<String, String[]> db = new HashMap<>();

String[] hellos = new String[]{"Привет", "Алоха"};
String[] helloAnswers = new String[]{"Здравствуй", "Добрых вечеров!"};
for (String hello : hellos) {
   db.put(hello, helloAnswers);
}

String[] goodbyes = new String[]{"Пока", "Прощай"};
String[] goodbyeAnswers = new String[]{"До свидания", "Ну пока"};
for (String goodbye: goodbyes) {
   db.put(goodbye, goodbyeAnswers);
}

if  (db.containsKey(str)) {
    String[] answers = db.get(str);
    System.out.println(answers[random.nextInt(answers.length)]);
}

PS: могут быть ошибки, писано с телефона...

