在同一行上打印输出

时间:2015-07-18 02:24:51

标签: java printing

我正在用Java编写翻译来翻译我想出的假语言。我输入一个英文单词,它返回另一种语言中的等效单词。它成功地翻译了所有内容,但每个新单词都在一个单独的行上,我只想在一行上输出。我还是Java新手,但这是我的代码:

import java.io.*;
import java.util.*;

public class Translator {

    private static Scanner scan;

    public static void main(String[] args) {

            HashMap <String, String> XanthiumLang = new HashMap <String, String>();
            XanthiumLang.put("hello", "fohran");
            XanthiumLang.put("the", "krif");
            XanthiumLang.put("of", "ney");
            XanthiumLang.put("to", "dov");
            XanthiumLang.put("and", "ahrk");

            Scanner scan = new Scanner(System.in);
            String sentence = scan.nextLine();
            String[] result = sentence.split(" ");
            for(int i = 0; i < result.length; i++){
            if(XanthiumLang.containsKey(result[i])){
                result[i] = XanthiumLang.get(result[i]);
                   }
                 System.out.println(result[i]);
               }
        }
 }

我现在只在代码中有几个单词,它们存储在一个hashmap中。无论如何,我说每个单词的输出是在一个单独的行上,而不是只在一行。我的代码的任何想法或更改都会有所帮助!

1 个答案:

答案 0 :(得分:2)

使用System.out.print();。这样做会将整个阵列打印在一行上。 System.out.println();每次都会在新行上打印结果(因此结尾的ln )。

import java.io.*;
import java.util.*;

public class Translator {

  private static Scanner scan;

  public static void main(String[] args) {

    HashMap <String, String> XanthiumLang = new HashMap <String, String>();
    XanthiumLang.put("hello", "fohran");
    XanthiumLang.put("the", "krif");
    XanthiumLang.put("of", "ney");
    XanthiumLang.put("to", "dov");
    XanthiumLang.put("and", "ahrk");

    Scanner scan = new Scanner(System.in);
    String sentence = scan.nextLine();
    String[] result = sentence.split(" ");
      for(int i = 0; i < result.length; i++){
         if(XanthiumLang.containsKey(result[i])){
           result[i] = XanthiumLang.get(result[i]);
         }
         System.out.print(result[i]);
       }
     }
   }

有关不同格式的更多信息here