Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从2个ArrayList中查找字符串_Java_Arrays_Arraylist_Java.util.scanner - Fatal编程技术网

Java 从2个ArrayList中查找字符串

Java 从2个ArrayList中查找字符串,java,arrays,arraylist,java.util.scanner,Java,Arrays,Arraylist,Java.util.scanner,我的代码有点问题。我正在做一个双语翻译,但我不懂的是如何从一个数组列表中查找字符串,并从另一个数组列表中获取其翻译形式。我有100个字,总共200个。我只是对那部分感到困惑 public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); String enterTheWord; String yes = "yes"; S

我的代码有点问题。我正在做一个双语翻译,但我不懂的是如何从一个数组列表中查找字符串,并从另一个数组列表中获取其翻译形式。我有100个字,总共200个。我只是对那部分感到困惑

public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);

        String enterTheWord;
        String yes = "yes";
        String Yes = "Yes";
        String enterChoice;

        ArrayList<String> dictionary = new ArrayList<String>(100);
        dictionary.add("gracias");

        System.out.println("Welcome to the Translator!");
        System.out.println("Please be wary that this is an English to Spanish Translator!");
        System.out.println("Do you wish to continue?");
        enterChoice = keyboard.next();

        if ( enterChoice.equals(yes))
        {
            System.out.print("What word do you wish to translate? " );
            enterTheWord = keyboard.next();
        }
        else if (enterChoice.equals(Yes))
        {
            System.out.print("What word do you wish to translate? " );
            enterTheWord = keyboard.next();
        }
        else
            System.out.print("");
        }
    }
publicstaticvoidmain(字符串[]args)
{
扫描仪键盘=新扫描仪(System.in);
字符串输入单词;
String yes=“yes”;
String Yes=“Yes”;
字符串选择;
ArrayList字典=新的ArrayList(100);
字典。添加(“gracias”);
System.out.println(“欢迎使用翻译工具!”);
System.out.println(“请注意这是一个从英语到西班牙语的翻译!”);
System.out.println(“您想继续吗?”);
enterChoice=keyboard.next();
如果(输入选择等于(是))
{
System.out.print(“您希望翻译什么单词?”);
输入word=keyboard.next();
}
else if(输入选择等于(是))
{
System.out.print(“您希望翻译什么单词?”);
输入word=keyboard.next();
}
其他的
系统输出打印(“”);
}
}
我建议您使用两个。大概

Map<String, String> english = new HashMap<>();
Map<String, String> spanish = new HashMap<>();
english.put("Hello", "Hola");
english.put("Hola", "Hello");

System.out.printf("%s in English is %s in Spanish%n", "Hello", 
    english.get("Hello"));
Map english=newhashmap();
Map西班牙语=新的HashMap();
英语。放(“你好”,“你好”);
英语。放(“你好”,“你好”);
System.out.printf(“%s在英语中是%s在西班牙语中是%n”,“您好”,
英语。得到(“你好”);

或者,使用,因为您可以将
字符串和映射外部化。此外,您还可以添加更多语言,而无需修改代码

尝试至少使用
HashMap
来维护翻译数据

 public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);

        String enterTheWord = null;
        String enterChoice;

        Map<String, String> translationMap = new HashMap<String, String>();
        translationMap.put("gracious", "gracioso"); // translation map for english as key and spanish as value.

        System.out.println("Welcome to the Translator!");
        System.out.println("Please be wary that this is an English to Spanish Translator!");
        System.out.println("Do you wish to continue?");
        enterChoice = keyboard.next();

        if (enterChoice.equalsIgnoreCase("yes")) {
            System.out.print("What word do you wish to translate? ");
            enterTheWord = keyboard.next(); // get english text
        }

        System.out.println(translationMap.get(enterTheWord));
    }
Welcome to the Translator!
Please be wary that this is an English to Spanish Translator!
Do you wish to continue?
yes
What word do you wish to translate? gracious
gracioso