2016-01-30 102 views
-3

嘿,我是一個新的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); 
    } 
} 

}

+0

「該代碼也有一個錯誤,我無法弄清楚」 - 什麼是錯誤? – scottysmalls

回答

1

下面是一些建議:

  1. 包名稱,ü應該遵循一些標準(http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
  2. 其他約定(需要總是被記住的,它和針打印到你的辦公桌直到你得到它) (http://www.oracle.com/technetwork/java/codeconventions-135099.html
  3. 保持正確的範圍內爲您的課,我建議ü承擔Java的面向對象的讀取(谷歌它)
  4. 不要使用內部使用的變量的公共靜態的,這是不是一個常數,不應該在你的c之外使用如果你有兩個密碼變量(一個是正確的密碼,另一個是用戶輸入的密碼),你必須使用.equals()來比較密碼變量(password字段)
  5. this.password.equals(password)
  6. 總之,測試代碼時會遇到一些其他的邏輯問題。

希望對java有幫助和歡迎。

+0

非常感謝您的建議和幫助 – furProgrammer

0

在主方法沒有定義的變量的密碼。

我假設2個類在單獨的文件中。

+0

謝謝,我修好了,但現在我想弄清楚爲什麼密碼仍然不起作用,它總是把它作爲不正確 – furProgrammer

+0

檢查變量的範圍....方法中的密碼隱藏字段班級密碼。 –

0
  1. 您必須輸入一個名稱。
  2. 創建對象並分配輸入的名稱。
  3. 調用方法GetPassword()不帶參數。
  4. 請使用equals()方法的字符串比較: if (Password.equals(pass))
  5. 按照克里斯蒂亞諾Benato的指令。