密码系统错误

时间:2016-01-30 03:25:05

标签: java passwords

嘿,我是java的新程序员,并尝试制作密码系统。我希望有人审查代码并给我一些建议。代码也有一个我无法弄清楚的错误所以我需要有人告诉我我做错了什么,所以我不再犯错误。谢谢!

package Main;

import java.util.Scanner;

public class ProgramRunner {

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

    umNoName lol = new umNoName();

    //password
    String password = "pass";
    lol.GetPassword(password);
}

}



package Main;

import java.util.Scanner;

public class umNoName {

public static String password = "pass";
public String Name;

public void simpleMessage(String Name){
    System.out.println("Hello " + Name);
}

public void GetPassword(String password){
    Scanner imput = new Scanner(System.in);
    System.out.println("Password: ");
    String Password = imput.nextLine();
    if(Password == password){
        simpleMessage(Name);
    }else{
        System.out.print("Password is incorrect!");
        System.exit(0);
    }
}

}

3 个答案:

答案 0 :(得分:1)

以下是一些建议:

  1. 包名称,您应遵循一些标准(http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
  2. 其他约定(需要永远记住,打印并钉在你的桌子上直到你拿到它)(http://www.oracle.com/technetwork/java/codeconventions-135099.html
  3. 为您的课程保留正确的范围,我建议您阅读Java Object Orientation(Google It)
  4. 不要使用内部使用变量的公共静态,这不是常量,不应在您的课外使用(password字段)
  5. 正确字段的右访问者,如果你有两个密码变量(一个是正确的密码,另一个是用户输入的密码),你必须使用.equals(this.password.equals(password)来比较它)
  6. 在测试代码时,您还会遇到其他一些逻辑问题。
  7. 希望对java有所帮助并欢迎。

答案 1 :(得分:0)

在main方法中,未定义变量密码。

我假设这两个类在不同的文件中。

答案 2 :(得分:0)

  1. 您必须输入名称。
  2. 创建对象并指定输入的名称。
  3. 不带参数的调用方法GetPassword()。
  4. 使用equals()方法进行字符串比较: if (Password.equals(pass))
  5. 按照Cristiano Benato的指示。