我正在尝试创建一些读取文本文件的代码,将文本文件拆分为更小的块,并根据某些块等于执行操作。这是我的示例文本文件。
Derek 19 12
Jake 17 1
God 5000 13
我遇到的问题是我的if-else语句被完全忽略,并且只调用了最后的else语句。如果有人能帮助我理解我做错了什么,我将不胜感激。这是我的代码(文本文件和显示的代码是我正在处理的更大程序的简化版本。我已经测试了代码以确保错误仍然存在)。任何人都可以提供的帮助将不胜感激。
package testProgram;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class IfElseStatmentTest {
public static void main(String[] args) {
String fileName = "NumberData.txt";
Scanner inputStream = ReadInputFile(fileName);
while (inputStream.hasNextLine()){
String newLine = inputStream.nextLine();
String[] data = newLine.split(" ");
if (data[0] == "Derek")
System.out.println("Hi Derek");
else if (data[0] == "Jake")
System.out.println("Hi Jake");
else if (data[0] == "God")
System.out.println("Hi God");
else
System.out.println("kaboom");
}
}
public static Scanner ReadInputFile(String fileName){
Scanner inputStream = null;
try {
inputStream = new Scanner(new File(fileName));
return inputStream;
}
//display an error message if you have trouble opening the file
catch(FileNotFoundException e) {
System.out.println("Error opening the file " +
fileName);
System.exit(0);
return inputStream;
}
}
}
这是我得到的错误输出
kaboom
kaboom
kaboom
这是我应该得到的输出。
Hi Derek
Hi Jake
Hi God