黑马程序员技术交流社区

标题: 求救:Java事物回滚,是不是没有框架就不能弄事物回滚? [打印本页]

作者: maralbertlee    时间: 2014-10-28 11:23
标题: 求救:Java事物回滚,是不是没有框架就不能弄事物回滚?
如果可以,如何实现就是键盘输入一个数据,如果输入错误,程序不再往下走,返回要求用户重新输入数据。大神,赐教!
作者: maralbertlee    时间: 2014-10-31 14:20
本帖最后由 maralbertlee 于 2014-10-31 14:23 编辑

这个问题我自己解决了,事务回滚不需要框架就OK,我的代码如下:
  1. public void getFirstNumber() {
  2.                 sopln("==============================");
  3.                 sopln("计算器:");
  4.                 sop("请输入第一个数字:");
  5.                 while (true) {
  6.                         sc = new Scanner(System.in);
  7.                         try {
  8.                                 iFirstNum = sc.nextDouble();
  9.                         } catch (InputMismatchException e) {
  10.                                 System.out.println("输入错误,重新输入!");
  11.                                 getFirstNumber();
  12.                         } finally {
  13.                                 //System.out.println("iFirstNum=" + iFirstNum);
  14.                                 break;
  15.                         }
  16.                 }
  17.         }
  18.         public void getOperator(){
  19.                 sopln("请输入运算符号(目前支持+、-、×(*)、÷(/)以及%(取余)运算):");
  20.                 while(true){
  21.                         sc=new Scanner(System.in);
  22.                         cOperator = sc.next().charAt(0);
  23.                         if(cOperator!='+'&&cOperator!='-'&&cOperator!='*'&&cOperator!='/'&&cOperator!='%'){
  24.                                 System.out.println("输入错误,重新输入!");
  25.                                 getOperator();
  26.                                 break;
  27.                         }else{
  28.                                 //System.out.println("cOperator="+cOperator);
  29.                                 break;
  30.                         }
  31.                 }        
  32.         }
复制代码

是不完整代码,但是实现了我的目的——用户输入错误就提示要求重新输入。
但是有个缺点,内存占用比较大,所造成的冗余数据比较多。
作者: 陈永赛    时间: 2014-11-2 14:50
你可以设置一下判断语句,判断你录入的字符,如果不是你需要的,则抛出RuntimeException异常。

if(xxxxxxxx)
      throw new RuntimeException("输入的字符错误,请从新输入");




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2