Java Translator испанский -> английский [на удержании]

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

1
задан 28.11.2019, 19:33
3 ответа

Я верю в то, что используя карту для этого случая serГ - в mГЎs lГіgico. cГіdigo вытекающий quedarГ - в:

    Scanner teclado = new Scanner(System.in);
    Map<String, String> diccionario = new HashMap<String, String>();
    diccionario.put("yo", "me");
    diccionario.put("tu", "you");
    diccionario.put("el", "he");
    diccionario.put("ella", "she");
    // ...y cuantas palabras quieras

    // Esto realiza la "inversión" del diccionario
    Map<String, String> dictionary = new HashMap<>();
    for (String key : diccionario.keySet()) {
        dictionary.put(diccionario.get(key), key);
    }

    String frase = teclado.next().toLowerCase().trim();
    teclado.close();

    StringBuilder phrase = new StringBuilder();
    // Separamos las palabras por espacio e iteramos sobre cada una de ellas
    for (String palabra : frase.split(" ")) {
        // buscamos en el mapa
        // dependiendo del idioma, buscaríamos en diccionario o dictionary
        String word = diccionario.get(palabra);
        // Si no existe, dejamos en Español
        if (word == null) {
            word = palabra;
        }
        // "concatenamos"
        if (phrase.length() != 0) {
            phrase.append(" ");
        }
        phrase.append(word);
    }
    System.out.println(phrase.toString());
5
ответ дан 01.12.2019, 10:41

Оставаясь despuГ©s ingles[9] = "spanish";

   System.out.println("Idioma para traducir Español o Inglés");
   String idiomaa = teclado.next();     // idioma = inglés

   String [] traductor;
   String [] idioma;

   if ("Español".equals(idiomaa)){
     traductor = español; // tu array de esp
     idioma = ingles;
   }else {
     traductor = ingles; // tu array de ing
     idioma = español;
   } 

    System.out.println("Introduce una palabra: ");
    frase = teclado.next();
    // frase  =  tu
    for(int i = 0 ; i < idioma.length; i ++){
       // i = 0 ---> yo
       // i = 1 ---> tu
       if(frase.equals(idioma[i])){ // encuentra el tu
             System.out.println("Traducido: " + traductor[i]); // Accedes a la posición
             break;
        }
    }

AquГ - что мы идем, делать просто, когда он найдет слово на языке, которое они напишут, мы оказываемся ее вовлеченной posiciГіn в ту, которая мы и соглашаемся в нее posiciГіn другого array.

, Если ты хочешь перевести ФРАЗЫ, тебя должно делать это guiГЎndote из-за места , aquГ - уже у тебя есть идея, как начинаться для слов.

2
ответ дан 01.12.2019, 10:41
  • 1
    Изменчивая язык está повторенная, однажды - String и другая array Strings. – ordago 28.11.2019, 19:40
  • 2
    Уже está исправленный. – EduBw 29.11.2019, 09:02
  • 3
    Первая у изменчивого языка есть два в, está как idiomaa. – David 29.11.2019, 10:04
  • 4
    точно поэтому это отличные переменные :), не то же самое String idiomaa, что String [] язык – EduBw 29.11.2019, 10:08

Не контекст, в котором ты хочешь использовать это, если это упражнение, чтобы учиться переворачивать данные и сравнивать их, или чтобы действительно переводчик делать. Ты должен думать, что одной traducciГіn буквальный не преуспели в ней mayorГ - в случаев. Глагол "play" в inglГ©s, смоги быть использованным, чтобы играть или чтобы касаться инструмента например, где в muchГ-simos случаи - mГЎs вещь контекста, что traducciГіn буквальный. Тогда это - что-то mГЎs комплекс, что это. Равного способа, я помещаю пример того, что ты просишь. В моем случае я использовал двухмерный array симулируя возможную таблицу базы данных, где я представил себе то, что каждая линия - слово и каждая колонна (каждый array) одна traducciГіn различного языка.

  public void traducir(){
    ArrayList<ArrayList<String>> idiomas = new ArrayList<>();
    idiomas.add(new ArrayList<>());
    idiomas.add(new ArrayList<>());
    idiomas.get(0).add("yo");
    idiomas.get(0).add("tu");
    idiomas.get(0).add("el");
    idiomas.get(0).add("juegas");

    idiomas.get(1).add("I");
    idiomas.get(1).add("you");
    idiomas.get(1).add("he");
    idiomas.get(1).add("play");



    String fraseEnEsp = "tu juegas";
    String[] palabaras = fraseEnEsp.split(" ");
    StringBuilder frase = new StringBuilder();
    for(String palabra : palabaras){
        int indiceDePalabra = idiomas.get(0).lastIndexOf(palabra);
        String palabraEnIngles = idiomas.get(1).get(indiceDePalabra);
        frase.append(palabraEnIngles + " ");
    }

    System.out.println( frase);

}
0
ответ дан 01.12.2019, 10:41