我正在用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中。无论如何,我说每个单词的输出是在一个单独的行上,而不是只在一行。我的代码的任何想法或更改都会有所帮助!
答案 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。