我有以下代码:
while(scanner.hasNext()) {
String a = scanner.next();
if(a == "v") {
float x = Float.parseFloat(scanner.next());
float y = Float.parseFloat(scanner.next());
float z = Float.parseFloat(scanner.next());
System.out.println(".");
verts.add(new vec3d(x,y,z));
}
}
当我在if语句之外的System.out.println
时,它会打印到控制台。但是,当我在if语句中包含System.out.println时,它不会打印任何内容。我的文本文件确实多次包含字母v。
在文本文件中,这会重复几次:
v -1.000000 0.540377 1.000000
v -1.000000 -0.540377 1.000000
v -1.000000 0.540377 -1.000000
我也很容易通过在初始化a之后立即执行System.out.println(a);
将整个文件打印到控制台。
我在这里做错了什么?我也尝试了a.toString()
,但没有成功。
==不起作用,因为需要将String
与“ equals
”进行比较]
尝试
if(a.equals("v"))