我将阅读包含以下内容的Java文件:
.- ... ... .. --. -. -- . -. - ....-
.. ...
..-. .. -. .- .-.. .-.. -.--
-.. --- -. .
问题是它正在读取整个文件,除了第一行的前两个字符,只打印:
...... ...... - 。 - 。 - 。 - 。 - ....-
而不是
.- ...... ...... - 。 - 。 - 。 - 。 - ....-
如何阅读此txt文件的第一个字符?
以下是代码:
String line = "";
String []split;
Scanner scanner = new Scanner (System.in);
System.out.print("Input file:");
String inputFile = scanner.nextLine();
File file = new File(inputFile);
Scanner input = new Scanner(file);
String [] alphabet = {
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","W","X","Y","Z"
,"0","1","2","3","4","5","6","7","8","9"};
String [] morse = {
".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--",
"-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..",
"-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."};
if(input.hasNext())
input.next();
while(input.hasNextLine()){
line = input.nextLine();
split = line.split("\t");
System.out.println(split[0]);
for (int i = 0; i < split.length; i++){
}
}
} }
答案 0 :(得分:1)
if(input.hasNext()) input.next();
你为什么要这样做?它读取的第一个字符串是&#34; .-&#34; 。您正在读取字符串,但未将其分配给任何变量。
只需删除此部分代码,即可在while循环中读取此字符串。