java - 新扫描仪出错

标签 java string java.util.scanner

我的程序有问题,我希望我的程序的用户编写他想要使用的文件,然后使用循环,根据他输入的单词,将使用一个文件。但我的程序从来没有进入一个循环,我不知道问题出在哪里。

这是我的代码:

        System.out.println("Nom du test case à lancer ? : ");
    Scanner saisieUtilisateur = new Scanner(System.in); 
    //on rentre l'adresse du fichier texte :
    String str = saisieUtilisateur.next();
    System.out.println(str);
    //Integer val = saisieUtilisateur.nextInt();
    //System.out.println(val);
    String chaine = "";
    String File="";
    int i=1;

    //Choix du fichier a prendre en compte suivant le choix de l'utilisateur
    if (str == "hello"){
        File = "C:\\exempleANT\\helloWordTexte.txt";
        System.out.println("dans la boucle 1");
    }
    else if(str == "bye"){
        System.out.println("dans la boucle 2");
        File =  "C:\\exempleANT\\FichiersTestExempleHelloWord\\bye.txt";
    }
    else if(str == "fake"){
        System.out.println("dans la boucle 3");
        File =  "C:\\exempleANT\\FichiersTestExempleHelloWord\\helloWordTexteFake.txt";
    }
    else  {
        System.out.println("ErreurTexte!");
        System.out.println("dans la boucle 4");

    }

这是我运行程序并输入 hello 时控制台中的结果。

hello
hello
ErreurTexte!
dans la boucle 4

最佳答案

使用 .equals 来表示字符串相等,而不是使用 '=='。

 if (str.equals("hello")){
     ...
 }

参见 - How do I compare strings in Java?

关于java - 新扫描仪出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298187/

相关文章:

javascript - 获取原型(prototype)之前的字符串值

python - 正则表达式使用递增的数字序列 Python

Java:如果我使用封装在类中的原始数据类型,它会慢多少?

java - 设置 JDialog 相对于 JFrame 的位置

java - 从数组 vector 中创建一个元素总和等于数字 k 的数组

java - 我们可以在java中的静态 block 中声明静态变量吗

swift - 将具有特殊字符的字符串分隔成数组

java - 扫描从文件读取的行的有效方法

Java IO 无法读取文本文件

java - 使用 Scanner 时添加 null 值