沉吟丹青 2019-09-28 16:13 采纳率: 70%
浏览 3493

求助:用Java编写存取款程序,报错 $Exception in thread "main" 和java.lang.IllegalStateException: Scanner closed

package piggybank;
import java.util.Scanner;
public class piggybank
{
public static void main(String[] args)
{

Scanner input = new Scanner(System.in);
System.out.println("Welcome to the Piggy Bank. Please enter starting balance: ");
double startingBalance = input.nextDouble();
System.out.println("Piggy Bank ATM");
System.out.printf("Balance :  %6.2f", startingBalance);
System.out.println();

while (true){

System.out.println();
System.out.println("OPTIONS");
System.out.println();
System.out.println("1.Deposit\n"+"2.Withdraw\n"+"3.Quit\n");
System.out.println();   
System.out.println("Choose one:");
int option = input.nextInt();
switch (option) {

    case 1:
        System.out.println("Enter deposit amount:\n" + "Piggy Bank ATM");
        double deposit = input.nextDouble();
        double depositBalance= startingBalance + deposit;
        System.out.printf(" Balance: $%6.2f ",depositBalance);
        System.out.println();
    break;
    case 2:
        System.out.println("Enter withdrawal amount:\n" + "Piggy Bank ATM");
        double withdraw = input.nextDouble();
        double withdrawBalance= startingBalance - withdraw;
        System.out.printf("Balance:$%8.2f ",withdrawBalance);
        System.out.println();   
    break;

    case 3:
        System.out.printf("Ending Balance: $%8.2f ", startingBalance);
    break;

    }     

    input.close();  
}

}
}

我想要反复执行存取款程序,但是就会显示出错
图片说明
求帮忙!
想要得到以下运行结果
图片说明
我的运行结果是这样的,没有办法进行第二次输入
图片说明
呜呜呜,初学什么都不会,求助

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2019-09-28 16:23
    关注

    input.close(); 这句放在 while 循环中,所以只有第一次循环有用,后面的循环就会报该异常。
    解决办法:将这句放在 while 的外面。先定位 while 的结束符号 } ,在其外面加这句。

    评论

报告相同问题?

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用