我不是最好的编码器,所以如果你能向我解释为什么和我该怎么做才能解决这个问题,将不胜感激。有人可以帮我理解这个堆栈溢出错误
当我运行该程序时,我能够输入所有内容,但最终突出显示了带有java.lang.stackoverflowError的第一个扫描仪行。
import java.util.Scanner;
import java.lang.Object;
public class Login
{
Scanner input = new Scanner(System.in);
Scanner input2 = new Scanner(System.in);
public void createAccount(){
System.out.print("Create a 6 digit account number: ");
int createNumber = input.nextInt();
System.out.print("Create a 4 digit PIN: ");
int createPin = input2.nextInt();
Login acc = new Login();
acc.loginScreen(createNumber, createPin);
}
public void loginScreen(int createNumber, int createPin){
System.out.println("Enter your acocunt number: ");
int accEntryNumber = input.nextInt();
int lengthNum = String.valueOf(accEntryNumber).length();
System.out.println("Enter your pin: ");
int accEntryPin = input2.nextInt();
int lengthPin = String.valueOf(accEntryPin).length();
if(accEntryPin == createPin && accEntryNumber == createNumber){
Main access = new Main();
access.mainMenu();
}
else{
System.out.println("Access denied");
}
}
}
究竟是什么问题? –
当我运行程序时,我可以输入所有内容,但最终突出显示了第一个扫描仪行,java.lang.stackoverflowError – Johnm
请勿使用两个扫描仪。坚持一个。 – Squiddie