java - 找不到字符串

标签 java string

我只是乱搞代码,看看我能做什么和不能做什么,所以我正在创建一个非常简单的登录程序,由于某种原因,它似乎找不到其中之一字符串。代码如下:

import java.util.Scanner;

public class Login {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Username: ");
        String user = input.next();
        System.out.print('\f');

        while (true) {
            System.out.print("Pass: ");
            String pass = input.next();
            System.out.print('\f');

            System.out.print("Password Again: ");
            String pass2 = input.next();
            System.out.print('\f');

            if (pass.equals(pass2)) {
                System.out.println("*Passwords Match*");
                System.out.println("");
                break;
            } else if (!pass.equals(pass2)) {
                 System.out.println("*Passwords don't match, please try again*");
                 System.out.println("");
            }

        }
        System.out.println("User: " + user);
        System.out.println("Pass: " + pass);
    }
}

找不到字符串pass。我不知道它是否是保留字,但是当我尝试将字符串更改为密码而不是传递时,它仍然找不到它。任何帮助都会很好

最佳答案

您在可以使用的地方之外使用了pass。 如果您在 main 方法中声明它,您的代码将起作用。 基本上,在 while 循环范围之外使用的任何内容都必须在某处初始化。如前所述,您不必担心 pass2 在其他地方声明,因为它的主要功能纯粹位于循环范围内

import java.util.Scanner;

public class Login {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String pass,user;
        System.out.print("Username: ");
        user = input.next();
        System.out.print('\f');

        while (true) {
            System.out.print("Pass: ");
            pass = input.next();
            System.out.print('\f');

            System.out.print("Password Again: ");
            String pass2 = input.next();
            System.out.print('\f');

            if (pass.equals(pass2)) {
                System.out.println("*Passwords Match*");
                System.out.println("");
                break;
            } else if (!pass.equals(pass2)) {
                 System.out.println("*Passwords don't match, please try again*");
                 System.out.println("");
            }

        }
        System.out.println("User: " + user);
        System.out.println("Pass: " + pass);
    }
}

关于java - 找不到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32856446/

相关文章:

java - Java读取大文件

java - eclipse中的ant junit构建错误

string - 如何在 Swift 中返回所有子字符串(不止一次)?

python - 将python中的字符串减少到特定点

java - 如何将字符串转换为 float ?

regex - 如何使用 Perl 进行不精确的字符串比较?

string - 如何删除字符串的双重部分?

java - 用于在 Java 中的 Google Apps 引擎中更新照片的 ByteString 值无效

java - Netbeans 上用于 JavaServer Faces 的可视化 Web 编辑器在哪里

java - 动态参数为String类型时如何去除 ' '?