java.util.Scanner找不到所扫描文件中包含的字母

问题描述 投票:0回答:1

我有以下代码:

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(),但没有成功。

java java.util.scanner
1个回答
0
投票

==不起作用,因为需要将String与“ equals”进行比较]

尝试

if(a.equals("v"))
© www.soinside.com 2019 - 2024. All rights reserved.