我想將用戶名「carl」與密碼「0001」以及其他元素相匹配,但它不起作用。任何人都可以解釋我如何匹配「用戶名」的每個元素與「密碼」的元素?非常感謝你! 這是我的代碼:在java中匹配用戶名和密碼索引的索引
class log{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
String [] username ={"carl", "may", "joseph", "oliver", "ashley"};
String []password={"0001", "0002", "0003", "0004", "0005"};
public void login() throws IOException{
System.out.print("\nUSERNAME: ");
uname=br.readLine();
System.out.print("PASSWORD: ");
pword=br.readLine();
for (j = 0; j <= 4; j++) {
if (username[j].equals(password[j])) {
uname=username[j];
pword=password[j];
}
}
while((!uname.equals(password[j]))&&(!pword.equals(username[j]))){
System.out.println("Invalid username/password.");
System.out.print("\nUSERNAME: ");
uname=br.readLine();
System.out.print("PASSWORD: ");
pword=br.readLine();
}
public void main(String[] args)throws IOException {
log b=new log();
b.login();
}
這就是所謂的*並行陣列*,是一個非常糟糕的模式。使用名稱和密碼作爲字段的'class User'而不是使用多個數組。這將使您的邏輯更簡單,更易於調試。 – chrylis
* carl *等於* 0001 *如何?在你的if條件中,你必須比較* username [j] .equals(uname)&& passwords [j] .equals(pword)*。 –
將-1置於該問題的人。我認爲這個問題很明顯。不要忘記,你的編程開始就是這樣的。只是合作。 –