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

В настоящее время я пытаюсь создать программу, которая будет запрашивать ввод элемента из периодической таблицы, а затем выводить некоторую информацию об этом элементе. Моя первоначальная идея состояла в том, чтобы создать для него метод, а затем просто несколько раз вызывать метод с различной информацией для каждого элемента, но теперь я понимаю, почему это не сработает, поскольку, если у меня сначала есть метод для Lithium, он будет принимать только вход Лития. Как я могу сделать это, не имея тонны почти одинаковых утверждений if? Я очень новичок в Java, поэтому я хотел бы получить простое объяснение того, как и почему.

import java.util.Scanner;
public class PeriodicTable {

    public static void askForElement(String symbol, String name, String group, Float weight) {
        do {
            Scanner reader = new Scanner(System.in);
            String input = reader.nextLine();
            if(input.trim().equalsIgnoreCase(symbol) || input.trim().equalsIgnoreCase(name)) {
                System.out.println("Element: " + name + " (" + symbol + ")" + "\nGroup: " + group + "\nAtomic Weight: " + weight);
                break;
            } else {
                System.out.println("Please input a valid symbol or name of an element.");
                continue;
            }
        } while (true);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            System.out.println("Please input the name or symbol of an element in the periodic table. ");
            askForElement("Li", "Lithium", "Alkali Metals", (float) 6.941);
            askForElement("Fe", "Iron", "Transition Metals", (float) 55.933);
    }

}
...