java代码异常处理篇-----循环
总结:注意一个方法:nextLine();它表示:执行当前行,返回跳过的输入信息。
package com.da; import java.util.InputMismatchException;
import java.util.Scanner;
//从键盘输入数,判断,是double型则输出。通过循环变量退出do-while循环
//若不是,则系统提示异常,该异常被catch语句捕获。catch语句用来显示数据输入错误提示信息。
//并提示用户重新输入,然后通过循环变量使do-while循环继续执行。 要求用户重新输入
//其中 Scanner中的方法 String nextline()的作用是:
//扫描当前行,并返回跳过的输入信息。由此。。。定是Scanner类的方法 public class h {
public static void main(String[] args) {
Scanner c = new Scanner(System.in);
boolean a = false;
do {
try { System.out.println("请输入数据:");
double x = c.nextDouble();
System.out.println(x);
a = false;
} catch (InputMismatchException A) {
System.out.println("数据输入无效,请重新输入");
System.out.println("message:" + A);
// a=true;//如果省略了这最关键的一步,
// 那么程序无法继续执行,它会终止。因为异常虽被捕捉了。但是还是错误的
// 所以这里要修改默认值,即让程序继续执行下去,让循环变量为true,使之有效!!!
String b = c.nextLine();// nextline()方法是扫描器执行当前行,返回跳过的输入信息是Scanner类的方法
} } while (a = true);// 我在这里修改了下程序。本来这里是对于正确输入是退出(while(a);),不会继续下去。
}// a=true时。它在do循环外面。所以无论输入对否。它会继续循环下去。干嘛输入对了一次就不输入了。
}// 程序的运行也会有偶然性。有时候,有的bug在中间,而不是开始的时候。多验证输入几次,增强准确性
//
请输入数据:
t
数据输入无效,请重新输入
message:java.util.InputMismatchException
请输入数据:
tr
数据输入无效,请重新输入
message:java.util.InputMismatchException
请输入数据:
34
34.0
请输入数据:
t
数据输入无效,请重新输入
message:java.util.InputMismatchException
请输入数据:
w
数据输入无效,请重新输入
message:java.util.InputMismatchException
请输入数据:
g
数据输入无效,请重新输入
message:java.util.InputMismatchException
请输入数据:
a
数据输入无效,请重新输入
message:java.util.InputMismatchException
请输入数据:
java代码异常处理篇-----循环的更多相关文章
- 新年在家学java之基础篇--循环&数组
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...
- java代码输入流篇2
总结: 方法.和之前的有不同,但是名字太长了+++++ package com.aini; import java.io.*; public class ghd { public static voi ...
- java代码异常篇
总结:掌握流.缓冲区类的方法 package com.b; import java.io.BufferedReader; import java.io.File; import java.io.Fil ...
- java代码异常处理
总结:运用throw和throws抛出异常,在哪一种情况下该怎么抛出异常.重要 package com.b; //异常中throwe和throws的用法 public class yz { publi ...
- Java【第九篇】异常处理
异常概述 介绍 任何一种程序设计语言设计的程序在运行时都有可能出现错误,例如除数为0,数组下标越界,要读写的文件不存在等等.捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生.对于这些错误, ...
- JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇
JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题).我们也知道我们Java程序 ...
- Java 动态打印菱形代码之for循环的使用
1.自定义空心菱形 void PrintRhombus() { int i, j; int s = 4; for (i = 1; i < 2 * (s + 1); i++) { if (i &l ...
- 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!
本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
随机推荐
- INSPIRED启示录 读书笔记 - 第7章 管理产品经理
产品总监的关键职责 1.组建优秀的产品经理团队 如果产品经理不称职,只能退而求其次,请其他团队成员(比如主程序员)越俎代庖 新产品经理必须经过约三个月刻苦学习才能开始管理产品,管理者应该为新人创造学习 ...
- MySQL操作的相关命令
拷贝表,并且复制两条数据到新表中 create table t_comments_sample2 like t_comments_sample; #拷贝表结构 ,;#复制两条数据 MySQL Work ...
- Kafka+SparkStreaming+Zookeeper(ZK存储Offset,解决checkpoint问题)
创建一个topic ./kafka-topics.sh --create --zookeeper 192.168.1.244:2181,192.168.1.245:2181,192.168.1.246 ...
- IOS 发布被拒 3.2 f
Dear Developer, We have determined that your Apple Developer Program membership, or another membersh ...
- django学习笔记整理(1)django的MTV模式
django作为一个python的网络编程的框架,自然有着其规律可循.通过对django的了解,也明白了一些网络编程的知识.最近这近一个月,在网上查了许多文字资料,也看了别人的视频之类的资料,也算是对 ...
- LightOJ 1245 数学
Harmonic Number (II) Description I was trying to solve problem '1234 - Harmonic Number', I wrote the ...
- 初识Django---视图
MTV模型 一.Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象 Template(模板):负责如何把页面展示给用户 View(视图 ...
- Angular中文api
Angular中文api:http://docs.ngnice.com/api
- jquery自定义window事件
<body> <a href='https://www.baidu.com/'>百度</a> </body> <script type=" ...
- Linux 系统实时监控 —— Glances
早些时候,我们提到过有很多可以用来监视系统性能的 Linux 系统监视工具. 但我们估计,或许更多的用户会倾向与绝大多数 Linux 发行版都带的工具 (top 命令). top 命令是 Linux ...