菜鸟求助异常小问题!!

xy363338623 2012-05-25 07:23:32
这是一个计算输入的整数的和。
我的问题是,如果我输入的不是整数,我想从当前输入的数重新开始
比如:
请输入第一个数:10
请输入第二个数:20
请输入第三个数:asdf
数字格式错误,请重新输入!
请输入第三个数:
您输入的三个整数的和为:……
我想用异常实现,该怎么做?


import java.util.*;

class Test{
public static void main(String[] args){
Test.test(3);
}

public static void test(int x){
int sum = 0;
Scanner input = new Scanner(System.in);

for(int i = 1; i <= x; i++){
System.out.print("请再输入第" + i + "个正整数:");
sum += input.nextInt();
}

System.out.println("您输入的" + x + "个整数的和为:" + sum);//输出最后一次的和就是总和
}
}
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xy363338623 2012-05-25
  • 打赏
  • 举报
回复
额。。正则表达式还没学,刚看了下InputMismatchException异常是什么正则表达式的,按2楼的说法做就会抛这个异常,看来我还得继续学才能解决这个问题啊。。
yuppy 2012-05-25
  • 打赏
  • 举报
回复
如果用异常,你也要考虑第一次就错的情况
看那边 2012-05-25
  • 打赏
  • 举报
回复
在input.nextInt();这里。用try catch语句。捕获异常。在catch语句中重新输入
yuppy 2012-05-25
  • 打赏
  • 举报
回复
说个不用异常的思路给lz

count = 0;
while(count < 3){

if(count == 0) 请求输入第一个
if(count == 1) 请求输入第二个
if(count == 2) 请求输入第三个
//正确读一个,这里可以用正则校验是否为数字
count++;
}

大概就是这样
本套餐将包括两个重磅性的课程与一个赠送学习的课程,分别为SpringBoot实战视频教程与RabbitMQ实战教程跟SSM整合开发之poi导入导出Excel。目的是为了让各位小伙伴可以从零基础一步一个脚印学习微服务项目的开发,特别是SpringBoot项目的开发,之后会进入第二个课程:RabbitMQ的实战,即消息中间件在实际项目或者系统中各种业务模块的实战并解决一些常见的典型的问题!核心的知识点分别包括 一、SpringBoot实战历程课程 (1)SpringBoot实战应用场景的介绍与代码实战 (2)发送邮件服务、上传下载文件服务、Poi导入导出Excel (3)单模块与多模块项目构建、项目部署打包、日志、多环境配置、lombok、validator以及mybatis整合实战跟多数据源实战 (4)Redis缓存中间件的实战与缓存雪崩跟缓存穿透等问题的解决实战 (5)RabbitMQ消息中间件在业务模块异步解耦、通信、消息确认机制以及并发量配置等的实战 二、RabbitMQ实战教程课程 (1)RabbitMQ的官网权威技术手册拜读,认识并理解各大专有名词,如队列,交换机,路由,死信队列,消息确认机制等等 (2)RabbitMQ在业务服务模块之间的异步解耦通信实战,如异步记录日志与发送邮件等 (3)商城系统抢单高并发情况下RabbitMQ的限流作用与代码实战 (4)消息确认机制与并发量配置并用来实战商城用户下单 (5)死信队列深入讲解与DLX,DLK,TTL等概念的讲解并用来实战 “支付系统用户下单后支付超时而失效其下单记录”实战 详情,各位小伙伴可以查看两个课程的目录。相信学完该套餐相关课程后,你的实战能力将大大提升!涨薪将不再遥遥无期! 最后,赠送的SSM整合开发之POI导入导出Excel目的是为了让各位小伙伴也可以学习Spring+SpringMVC+Mybatis整合开发的项目,让大家一对比SpringBoot与SPring的项目开发流程以及复杂程度!!! 相信学完之后,你会对SpringBoot爱不释手!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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