本帖最后由 maralbertlee 于 2014-10-31 14:23 编辑
这个问题我自己解决了,事务回滚不需要框架就OK,我的代码如下:
- public void getFirstNumber() {
- sopln("==============================");
- sopln("计算器:");
- sop("请输入第一个数字:");
- while (true) {
- sc = new Scanner(System.in);
- try {
- iFirstNum = sc.nextDouble();
- } catch (InputMismatchException e) {
- System.out.println("输入错误,重新输入!");
- getFirstNumber();
- } finally {
- //System.out.println("iFirstNum=" + iFirstNum);
- break;
- }
- }
- }
- public void getOperator(){
- sopln("请输入运算符号(目前支持+、-、×(*)、÷(/)以及%(取余)运算):");
- while(true){
- sc=new Scanner(System.in);
- cOperator = sc.next().charAt(0);
- if(cOperator!='+'&&cOperator!='-'&&cOperator!='*'&&cOperator!='/'&&cOperator!='%'){
- System.out.println("输入错误,重新输入!");
- getOperator();
- break;
- }else{
- //System.out.println("cOperator="+cOperator);
- break;
- }
- }
- }
复制代码
是不完整代码,但是实现了我的目的——用户输入错误就提示要求重新输入。
但是有个缺点,内存占用比较大,所造成的冗余数据比较多。 |