qq_33156045 2016-11-09 16:01 采纳率: 0%
浏览 885

Java小程序报错,怎样解决?

import java.util.Scanner;
public class ATM {
public int c;

Scanner in=new Scanner(System.in);
Account aa[]=new Account[10];

int s[]={101,102,103,104,105,106,107,108,109,110};
public ATM()
{
 for(int i=0;i<=9;i++)
{
 aa[i]=new Account();
 aa[i].setbal(100);
 aa[i].setac(s[i]);
 }
}
public void login()
{

int s=0;
while(true)
{
  System.out.println("请输入你的账号:");
  c=in.nextInt();
for(int i=0;i<=9;i++)
{
 if(c==this.aa[i].getac())
{
  s++;
  return ;
}
}
if(s==0)
{
System.out.println("账号错误!");
}
}
}
public void menu(int b)
{

System.out.println("1.查询余额\r\n2.取款\r\n3.存款\r\n4.退出");
System.out.println("请输入你的选择:");
int a=in.nextInt();
System.out.println("欢迎!");
 switch(a)
 {
 case 1:System.out.println("你的账户余额为:"+this.aa[b].getbal());break; 
 case 2:this.aa[b].withdraw();break;
 case 3:this.aa[b].deposit();break;
 case 4:return;
 }
}


public static void main(String args[])
{
 ATM cc=new ATM();
 while(true){
     cc.login();

     cc.menu(cc.c);

 }
}
}       

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 105
at exp4.ATM.menu(ATM.java:51)
at exp4.ATM.main(ATM.java:63)

  • 写回答

4条回答 默认 最新

  • threenewbee 2016-11-09 16:06
    关注
     System.out.println("请输入你的账号:");
      c=in.nextInt();
        你输入了什么,是0-9之间的数字么
    
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退