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类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
随机推荐
- tomcat常见面试题1
一.Tomcat的缺省是多少,怎么修改 Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文 ...
- Struts2的<s:date>标签使用详解[转]
作用:用来格式化显示日期的格式. 它可以用一种你指定的格式来显示 (如:“yyyy-MM-dd”),可以生成通俗易懂的注释(如:in 2 hours,14 minutes),或者用预先定义的一个格式来 ...
- nodejs mysql 操作数据库方法一详解
nodejs mysql 数据查询例子 时间 2014-11-11 15:28:01 姜糖水原文 http://www.cnphp6.com/archives/59864 1.安装nodejs 2 ...
- 二叉查找树--java
package com.test.tree; public class BinarySearchTree<T extends Comparable<? super T>> { ...
- linux(centos)安装Nexus
1.解压nexus压缩包 tar xvzf ./nexus-2.13.0-01-bundle.tar.gz 2.修改配置文件: 修改jetty配置 [root@localhost nexus]# vi ...
- InputStream与String,Byte之间互转
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
- New Concept English there (60)
33w/m 43 Punctuality is a necessary habit in all public affairs in civilized society. Without it, no ...
- loj #6247. 九个太阳
求 $\sum\limits_{i=1}^n [k | i] \times C_n^i$ 膜 $998244353$ $n \leq 10^{15},k \leq 2^{20}$ $k$ 是 $2$ ...
- CodeForces - 794C:Naming Company(博弈&简单贪心)
Oleg the client and Igor the analyst are good friends. However, sometimes they argue over little thi ...
- 转载:maven依赖范围
其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath(注意是与classpath)的关系. 主要的是三种依赖关系如下:1.compile: 默认编译依赖范围.对于编译,测试,运行 ...