Java中String转int型的方法以及错误处理

应要求,本周制作了一个判断一个年份是否是闰年的程序。逻辑很简单,这里就不贴代码了。可是,在这次程序编写中发现了一个问题。

在输入年份时,如果输入1)字母2)空3)超过Int上限时,就会抛exception。

问题出在String转Int型时。

首先,在java中String转换为Int主要有两种方法

1.Integer.parseInt(s)

2.Integer.valueOf(s).intValue();

这两种方法略有不同,之后再跟大家分析。

首先我使用第一种方法,当测试数据为正常的年份时,是没有问题的,可当你测试非正常数据时就会抛出exception:

主要为NumberFormatException:

  1)当你输入为字母时,也就是内容不是数字时,如abcd

  2)当你输入为空时

  3)当你输入超出int上限时

然后我使用了第二种方法,得到的结果与第一种相同。

那怎么解决这种问题呢,使用户能正常输入内容

首先我想到的是使用try—catch

是程序能够捕捉到exception,并作相应处理

  以上代码就是当输入数据无法转换成int型时,弹出请输入正确年份的提示

TIPS:

1.Integer.parseInt(s)与Integer.valueOf(s).intValue()到底有什么不同呢,经过试验感觉并没有太大差异,但是Integer.valueOf(s)与Integer.parseInt(s)就有很大不同了,主要在于返回值不同

  Integer.parseInt(s)返回值为Int型

  Integer.valueOf(s)返回值为Integer,区别在于后者能够使用Integer的一些方法。

2.在做软件测试时不能仅仅用正常数据进行测试,因为对于软件从业人员而言,有很多观念根深蒂固,而一般使用者并没有这些观念,如果你不考虑这些使用者,那你的程序就会出现很多问题,就像这个闰年程序一样

3.try—catch在使用中真的用处很大,一个程序执行中有很多情况下会出exception,而这个方法能够帮助我们作相应处理。

时间: 2024-10-27 03:01:50

Java中String转int型的方法以及错误处理的相关文章

java中string和int互相转化

1 怎样将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小异. 2 怎样将整数 int 转换成字串 String ? A. 有叁种方法: 1.) St

2017.4.18 java中string和int互相转化

1 如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小异. 2 如何将整数 int 转换成字串 String ? A. 有叁种方法: 1.) St

java中String的21种使用方法

(构造函数必须new出来) * public String (char[] vaue)                         将一个字符数组变成字符串(构造函数) * public String (char[] vaue,int offset,int count)    将制定范围内的字符数组变为字符串(构造函数) * public String (byte[],bytes)                        将一个byte数组变为字符串(构造函数) * public St

Java中String和Int的相互转换

一.将字串 String 转换成整数 intA. 有2个方法:1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]);2). int i = Integer.valueOf(my_str).intValue();PS:字串转成 Double, Float, Long 的方法大同小异.第一种方法:i=Integer.parseInt([String]);//直接使用静态方法,不会产生多

105、Java中String类之利用indexOf()方法判断子字符串是否存在

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String args[]) { String str = "helloworld"; // 字符串对象 if (str.indexOf("world") != -1) { // 能找到子字符串 System.out.println(

106、Java中String类之使用contains()方法判断子字符串是否存在

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String args[]) { String str = "helloworld"; // 字符串对象 if (str.contains("world")) { // 子字符串存在 System.out.println("

Java中Integer和int比较大小出现的错误

Java在某一处维护着一个常量池,(我记得)在小于128的范围内,直接用 1 Integer i = 100; 2 int j = 100; 3 return i == j;//true 这里返回的是true. 但是>=128, 1 Integer i = 500; 2 int j = 500; 3 return i == j; //false 这里的常量池可以修改,在什么地方我忘了,可以百度一下,最好还是比较之前转换一下.

【转载】Java中String类的方法及说明

转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数     String(byte[ ] bytes):通过byte数组构造字符串对象.     String(char[ ] value):通过char数组构造字符串对象.     String(Sting original):构造一个original的副本.即:拷贝一个original.     String(Strin

Java中String类的方法及说明

String : 字符串类型 一.构造函数     String(byte[ ] bytes):通过byte数组构造字符串对象.     String(char[ ] value):通过char数组构造字符串对象.     String(Sting original):构造一个original的副本.即:拷贝一个original.     String(StringBuffer buffer):通过StringBuffer数组构造字符串对象.  例如:      byte[] b = {'a',