java出现package com.cn.text; import java.util.InputMismatchException; import java

l86221258 2015-09-15 04:19:54
package com.cn.text;

import java.util.InputMismatchException;
import java.util.Scanner;

import com.cn.option.AdministratorOperater;
import com.cn.option.UserOperater;

/***
* 测试类
*
* @author 韩宇
*
*/
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("\t\t\t\t欢迎来到妖神超市!");
System.out
.println("\t\t\t\t1、管理员\n\t\t\t\t2、用户\n\t\t\t\t3、退出系统\n请选择身份:");
FileWriterAndReader io = new FileWriterAndReader();
AdministratorOperater admin = new AdministratorOperater(io);
UserOperater user = new UserOperater(io);
int option;
try {
option = sc.nextInt();
switch (option) {
case 1:
admin.adminHd();
break;
case 2:
user.userHd();
break;
case 3:
System.out.println("谢谢使用,再见!");
System.exit(0);
break;
default:
System.out.println("对不起输入有误请重新输入!");
main(args);
}
} catch (InputMismatchException e) {
System.out.println("请输入数字!");
main(args);
}
}

}
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
数据下表越界了,看看你这个类FileWriterAndReader的133行跟288行吧
tony4geek 2015-09-15
  • 打赏
  • 举报
回复
这么明显越界了。
l86221258 2015-09-15
  • 打赏
  • 举报
回复
出现错误 如下 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at com.cn.text.FileWriterAndReader.commoditiesReader(FileWriterAndReader.java:288) at com.cn.text.FileWriterAndReader.<init>(FileWriterAndReader.java:133) at com.cn.text.Test.main(Test.java:25)
//客户端功能实现类; package clientSide; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Scanner; import serverSide.Goods; import socketFunction.ClientSocket; import systemUtil.Dates; import systemUtil.SysConstants; public class Client { private static final int card = 2000; private static Scanner input=new Scanner(System.in); private static ClientSocket clientSocket=new ClientSocket(); public static void main(String[] args) { System.out.println("***************欢迎使用青鸟超市管理系统***************"); do{ System.out.println("1 .登陆 \n2 .退出系统"); System.out.println("******************请选择数字1/2*********************"); String a =input.next(); if(a.equalsIgnoreCase("1")){ Client.creatLoginView(); break; }else if(a.equalsIgnoreCase("2")){ System.out.println("您已退出系统。。。。"); break; }else{ System.out.println("输入有误,请重新输入:"); } }while(true); } public static void creatLoginView(){ do{ System.out.println("请输入用户名称:"); String userName=input.next(); System.out.println("请输入用户密码:"); String passWord=input.next(); System.out.println("初始化成功。。。"); Dates dates =clientSocket.login(userName,passWord); System.out.println("验证成功"); if(dates.getFlag().equals(SysConstants.SYS_STOCKMAN)){ creatStockManagementView(); break; } else if(dates.getFlag().equals(SysConstants.SYS_CASHIER)){ creatCashierSystemView(); break; }else{ System.out.println("用户名称或密码错误,请重新输入:"); } }while(true); } public static void creatStockManagementView(){ System.out.println("************欢迎登陆青鸟超市库存管理系统************"); do{ System.out.println("请选择进行的操作:1.商品入库 2.商品出库 3.新增商品 4.查询全部商品 5.按查询号查询商品 6.退出"); String option=input.next(); //in if(option.equals("1")){ String id=null; int num=0; System.out.println("请输入商品编号:"); id=input.next(); if (clientSocket.idQuery(id).getFlag().equals(SysConstants.SYS_ERROR)){ System.out.println("没有此商品,请选择3:新增商品。。"); look(clientSocket.query()); }else{ System.out.println("输入入库数量:"); num=input.nextInt(); if(num>0){ if( clientSocket.in(id, num).getFlag().equals(SysConstants.SYS_SUCCESS)){ System.out.println("入库成功。。"); look(clientSocket.query()); } }else{ System.out.println("入库失败,数量不正确(必须大于0)。。"); } } } else if(option.equals("2")){ String id=null; int num=0; do{ System.out.println("请输入商品编码:"); id=input.next(); Dates dates=clientSocket.idQuery(id); if(dates.getFlag().equals(SysConstants.SYS_ERROR)){ System.out.println("没有此商品。。"); }else{ System.out.println("请输入商品数量:"); num=input.nextInt(); if(num>0){ Dates dates1=clientSocket.out(id, num); if(dates1.getFlag().equals(SysConstants.SYS_LACK)){ System.out.println("出库失败,库存不足。。。"); perLook(dates); break; }else{ System.out.println("出库成功。。。"); look(clientSocket.query()); break; } }else{ System.out.println("出库失败,数量必须大于0"); break; } } }while(true); } else if(option.equals("3")){ do{ System.out.println("请输入商品编号:"); String id=input.next(); if(clientSocket.idQuery(id).getFlag().equals(SysConstants.SYS_SUCCESS)){ System.out.println("此商品编号已存在。。。"); }else{ System.out.println("请输入商品名称:"); String name=input.next(); System.out.println("请输入商品价格:"); double d = 0; try{ d=input.nextDouble(); }catch( java.util.InputMismatchException e){ System.out.println("输入数据不符合要求。。。"); input.nextLine(); } System.out.println("请输入商品单位:"); String w=input.next(); System.out.println("请输入商品数量"); int num=input.nextInt(); Goods goods=new Goods(id,name,d,w,num); clientSocket.add(goods); System.out.println("新增商品成功。。"); look(clientSocket.query()); break; } }while(true); } else if(option.equals("4")){ look(clientSocket.query()); } else if(option.equals("5")){ System.out.println("请输入商品编号:"); String id=input.next(); Dates date =clientSocket.idQuery(id); if(date.getFlag().equals(SysConstants.SYS_SUCCESS)) perLook(date); else{ System.out.println("对不起,没有此商品。。"); } } else if(option.equals("6")){ System.out.println("系统退出成功。。。"); return; } else{ System.out.println("输入有误。。。"); } }while(true); } //收银管理界面创建; public static void creatCashierSystemView(){ System.out.println("****************欢迎登陆青鸟超市收银系统****************"); do{ System.out.println("请选择进行的操作: 1.扫描商品 2.修改商品数量 3.结账 4.退出"); String option=input.next(); if(option.equals("1")){ System.out.println("请输入商品编号:"); String id=input.next(); clientSocket.idQuery(id); if(clientSocket.idQuery(id).getFlag().equals(SysConstants.SYS_SUCCESS)){ show(clientSocket.Scan(id)); System.out.println("扫描成功。。。"); } } else if(option.equals("2")){ if(clientSocket.setAccount().getFlag().equals(SysConstants.SYS_ERROR)){ System.out.println("您未扫描商品。。"); continue; } do{ System.out.println("输入要修改的商品编号:"); String id=input.next(); if(hasGoods(id)){ System.out.println("请输入要修改的数量:"); Dates dates=null; if(input.hasNextInt()){ int a=input.nextInt(); if(a>1){ dates=clientSocket.upDateNum(id, a); if(dates.getFlag().equals(SysConstants.SYS_LACK)){ System.out.println("数量不足,请知悉。。。"); perLook(clientSocket.idQuery(id)); continue; }else if(dates.getFlag().equals(SysConstants.SYS_SUCCESS)) { System.out.println("修改成功!"); show(clientSocket.Scan(id)); break; } }else{ System.out.println("数量必须大于0!"); continue; } }else { System.out.println("请输入正确的格式:"); continue; } } System.out.println("对不起,还没有扫描此商品。。"); }while(true); } else if(option.equals("3")){ createOver(); }else if(option.equals("4")){ return; }else{ System.out.println("输入有误。。。"); } }while(true); } private static void createOver() { double price=sum(clientSocket.setAccount()); if(price!=0){ System.out.println("总金额为:"+price); System.out.println("请选择:1.普通结账 2.会员结账 "); String a=input.next(); if(a.equals("1")){ System.out.println("请输入金额:"); int money=0; do{ Scanner input =new Scanner(System.in); if(input.hasNextInt()){ money=input.nextInt(); if(money<0){ System.out.println("请输入正确的金额:"); } if(money=price){ createAccount(money,price); break; } }else{ System.out.println("请输入正确的格式:"); } }while(true); } else if(a.equals("2")){ System.out.println("请输入您的会员卡号:"); String vip =input.next(); if(vip.equals("0323")){ System.out.println("会员卡号正确,请输入要支付的金额:"); int money=0; do{ Scanner input=new Scanner(System.in); if(input.hasNextInt()){ money=input.nextInt(); if(money<0){ System.out.println("请输入正确的金额:"); } if(money=price){ createVipAccount(money,price); break; } }else{ System.out.println("请输入正确的格式:"); } }while(true); }else{ System.out.println("您输入有误!"); } }else{ System.out.println("您还没有扫描商品。。"); } } } private static void createVipAccount(int money, double price ) { System.out.println("************************************************************************************"); System.out.println("\t\t\t青鸟超市"); System.out.println("收银员:1001\t小票号:"+ticket()); disPlay(); System.out.println("总数量:"+clientSocket.setAccount().getBuyArrayGoodList().size()+"\t\t应收"+price); System.out.println("实收:"+money+"\t\t找零:"+(money-price)); System.out.println("本月累计积分成功!\t 卡号:0323\n"); System.out.println("本次积分=本月积分+本次积分:\n本次积分为:"+(card+(int)price)); System.out.println(date()); System.out.println("此小票是您退货及核对积分的凭证,请妥善保存!"); System.out.println("===================================================================================="); clientSocket.delete(); } private static void createAccount(int money, double price) { System.out.println("**************************************************************************************"); System.out.println("\t\t\t\t青鸟超市"); System.out.println("收银员:1001\t小票号:"+ticket()); disPlay(); System.out.println("总数量:"+clientSocket.setAccount().getBuyArrayGoodList().size() +"\t\t应收:"+price); System.out.println("实收:"+money+"\t\t找零:"+(money-price)); System.out.println(date()); System.out.println("此小票是您退货及核对积分的凭证,请妥善保存!"); System.out.println("======================================================================================"); clientSocket.delete(); } private static String date() { Date date=new Date(); SimpleDateFormat timer=new SimpleDateFormat("yyyy/MM/dd/\t\t hh/mm/ss"); String da=timer.format(date); return da; } private static void disPlay() { List list=clientSocket.setAccount().getBuyArrayGoodList(); System.out.println("序\t\t商品名称\t\t\t\t数量\t\t单位\t\t金额"); System.out.println("-------------------------------------------------------------------------------------"); for(int i=0;i list=setAccount.getBuyArrayGoodList(); double sum=0; for(int i=0;i list=clientSocket.setAccount().getBuyArrayGoodList(); for(int i=0;ilist=doScan.getBuyArrayGoodList(); System.out.println("商品名称\t\t\t\t数量\t\t单价\t\t金额"); System.out.println("------------------------------------------------------------------------------------"); for(int i=0;i list=(ArrayList)query.getGoodArrayList(); System.out.println("商品编号\t\t商品名称\t\t\t商品单价\t\t单位\t\t数量"); for(Goods goods:list){ System.out.println(goods.getGoodCode()+"\t\t"+goods.getGoodName()+"\t\t"+goods.getGoodPrice()+"\t\t"+goods.getGoodUnit()+"\t\t"+goods.getGoodNum()); } System.out.println("-----------------------------------------------------------------------------"); } /* private static void VIPCard(){ if() }*/ }

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧