首页 > 解决方案 > 如何修复此 java 错误 - $javac LoginAssignment.java

问题描述

我正在尝试运行以下代码,但是,我收到了这个错误。我真的不知道缺少什么:

这是错误 LoginAssignment.java:36: 错误:找不到符号 if(pWord[passCounter].equals(enteredpassword)){ ^ 符号:变量输入密码位置:类 LoginAssignment 2 错误


这是代码

import java.util.Scanner;
public class LoginAssignment {
 static Scanner input = new Scanner(System.in);
  public static void main(String[] args){
 
   String[] uName = {"Sosman","Msmith", "Rjoe"};
   String[] pWord = {"P4word1", "987654", "cat234"};
   
   String enteredUsername;
   System.out.println("Enter your username");
   System.out.println("Available users: Sosman, Msmith, Rjoe");
   enteredUsername = input.nextLine();
   
   String enteredPassword;
   System.out.println("Enter your password");
   System.out.println("Available passwords: P4word1, 987654 , cat234");
   enteredPassword = input.nextLine();
   
        int userLength = uName.length;
        int userCounter;
        int userTest = 0;
        int userCorrect = -1;
        for(userCounter = 0; userCounter < userLength; userCounter++){
           if(uName[userCounter].equals(enteredUsername)){
           
           userTest =1;
           userCorrect = userCounter;
           }
        }
       
       int passLenght = pWord.length;
       int passCounter;
       int passTest = 0;
       int passCorrect = -2;
       for(passCounter = 0; passCounter < passLength; passCounter++){
       if(pWord[passCounter].equals(enteredpassword)){
       
       passTest =1;
       passCorrect = passCounter;
     }
       }
     if((userTest== 0|| passTest == 0) ||(userCorrect !=passCorrect))
        System.out.println("Username not fourd or password in incorrect");
     
     if(passTest == 1&& userTest == 1&& userCorrect == passCorrect)
        System.out.println("You are logged in as: " + uName[userCorrect]);
      }
         }  

标签: java

解决方案


您的代码中的错误是:

  1. 在第二个for您键入passLength而不是passLenght. 这只是一个拼写错误,我建议你更改变量的名称,因为正确的拼写是passLength
  2. if第二个 for 中,您使用enteredpassword了而不是enteredPassword,因此出现了另一个拼写错误。

推荐阅读