gpt4 book ai didi

java - System.out.println() 和 BufferedReader 混合控制台中的输出

转载 作者:行者123 更新时间:2023-12-01 06:24:25 25 4
gpt4 key购买 nike

我目前正在开发一个程序,该程序使用 BufferedReader 读取输入,使用 System.out.println() 读取输出。

这是我的代码:

public void chooseMethod() throws IOException{
int in = 0;
while(true){

System.out.println("What do you want to do? (0 to exit, 1 to read Bank Account, 2 to write Bank Account, 3 to read Bill, 4 to write Bill): ");

in = Integer.parseInt(cin.readLine());

if(in == 0){
break;
}else if((in < 0) || (in > 4)){
System.out.println("Invalid choice.");
}else if(in == 1){
showBankAccount();
}else if(in == 2){
insertBankAccount();
}else if(in == 3){
showBill();
}else if(in == 4){
insertBill();
}

}

dbm.close();

}

public void insertBankAccount() throws IOException{
int bankNr = 0;
int sortCode = 0;
int accountNumber = 0;
int balance = 0;
int interest = 0;
String details;
String name;

while(true){
System.out.println("Enter bankNr (0 to exit): ");
bankNr = Integer.parseInt(cin.readLine());

if(bankNr == 0){
break;

}else if(bankNr <= maxBankNr){
System.out.println("Invalid Number: already taken");
break;
}

System.out.println("Enter Account Name: ");
name = cin.readLine();

System.out.println("Enter Sort Code: ");
sortCode = Integer.parseInt(cin.readLine());

System.out.println("Enter Account Number: ");
accountNumber = Integer.parseInt(cin.readLine());

System.out.println("Enter balance: ");
balance = Integer.parseInt(cin.readLine());

System.out.println("Enter Interest: ");
interest = Integer.parseInt(cin.readLine());

System.out.println("Enter Details: ");
details = cin.readLine();

bankAccountDAO.insertBankAccount(bankNr, sortCode, accountNumber, balance, interest, details, name);
this.maxBankNr = bankAccountDAO.getMaxBankNr();


}


}

现在,假设我输入“2”来“写入银行帐户”,输出如下:

运行:

What do you want to do? (0 to exit, 1 to read Bank Account, 2 to write Bank Account, 3 to read Bill, 4 to write Bill):

Enter bankNr (0 to exit):

2

输出中的这个“2”应该位于“EnterbankNr(0 to exit):”之前

我在使用 ScannerBufferedReader 时都遇到过这个问题,并且花了很长时间进行谷歌搜索,但似乎找不到任何答案。

还有人遇到过这个问题吗?如果是这样,您是如何解决的?

最佳答案

在 while 循环内的 insertBankAccount() 方法中更改:

System.out.println("Enter bankNr (0 to exit): ");
bankNr = Integer.parseInt(cin.readLine());

致:

bankNr = Integer.parseInt(cin.readLine());
System.out.println("Enter bankNr (0 to exit): ");

关于java - System.out.println() 和 BufferedReader 混合控制台中的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16337313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com