java string转int 异常_Java中String转int型的方法以及错误处理

article/2025/10/5 7:52:09

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

在输入年份时,如果输入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,并作相应处理

83ae351968e7a30ce6d104c4a2c378e4.png

以上代码就是当输入数据无法转换成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,而这个方法能够帮助我们作相应处理。


http://chatgpt.dhexx.cn/article/QSpwyWfn.shtml

相关文章

String转int

面试官抛出一道编程题:设计一个功能把String转成int,尽量多考虑特殊情况。当时笔者如下作答:用正则表达式替换非数字及正负号进行计算,后来考虑到性能和时间复杂度,又借鉴了Integer.parseInt()的思路,最后编…

Java如何将字符串String转换为整型Int

用法 在java中经常会遇到需要对数据进行类型转换的场景,String类型的数据转为Int类型属于比较常见的场景,主要有两种转换方法: 1. 使用Integer.parseInt(String)方法 2. 使用Integer.valueOf(String)方法 具体demo如下: public v…

string转换成int的几种方式

写在前面: 遇到了多次oj的题目需要将string转换为int或者将int转换为string 每次遇到都是现查,一直没有好好的总结导致总是忘记。 现在做个总结。 首先是今天遇到的方式: 采用string头文件里定义的string类型转换的函数 stoi(…

如何在Java中将String转换为int

在本教程中,我们将看到将Java中的String转换为int(或Integer)的各种方法。 您可以使用以下任何一种方式: –使用Integer.parseInt(string) –使用Integer.valueof(string) –使用…

CubeMX配置输入捕获模式获取输入信号脉宽

前言:最近做一个小玩意又用到了单片机的输入捕获功能,这里记录下配置过程(以便以后照搬) 1、输入捕获原理 在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_…

STM32 PWM占空比和信号周期的控制因素分析

前言 博文基于STM32F103ZET6芯片,标准固件库3.5.0和MDK5编写;博文并不讨论PWM的基础知识,而是直接去谈对PWM灵活的控制问题;想全面了解的可以看看我写的专门针对PWM的博客: https://blog.csdn.net/wuyuzun/article/de…

STM32F103 ——TIMx

TIMx基础知识 简介通用定时器TIM2~TIM5计数器(TIMx_CNT)计数器的三种工作模式——向上,向下,双向计数 四通道CCR1~4,两模式——输入、输出输出/比较模式相关名词配置步骤触发输出信号TRGO通道输出模式功能1——PWM波输…

从公式剖析stm32中PWM的使用

目录 一、PWM简介 1.介绍: 2.主要参数 二、stm32PWM产生方式 1,普通IO口 2,PWM口 三、定时器复习 四、公式推导及结论 五、stm32PWM具体的运用 1.电机 2.舵机 一、PWM简介 1.介绍 脉冲调制技术(PWM Pulse Width Mo…

STM32 PWM控制电机寄存器配置

脉冲宽度调制PWM&#xff0c;实现对电机速度的控制。 1、PWM输出原理 假定定时器工作在向上计数 PWM模式&#xff0c;CNT为当前计数值&#xff0c;CCRx为捕获/比较寄存器CCRx的值(预装载值)。当 CNT<CCRx 时&#xff0c;GPIO口 输出低电平0&#xff0c;当 CNT>CCRx 时&…

【嵌入式基础】定时器PWM练习

本次实验是在前面实验的基础上加入定时器和PWM脉冲宽度调制&#xff0c;之前的延时功能都是通过delay函数实现的。而本次作业通过定时器Timer方式实现时间的精准控制&#xff0c;更有利于CPU的运行&#xff0c;再通过PWM脉冲宽度调制&#xff0c;输出波形&#xff0c;分析PWM的…

STM32—sg90编程

什么是舵机&#xff1f; 如下图所示&#xff0c;最便宜的舵机sg90&#xff0c;常用三根或者四根接线&#xff0c;黄色为PWM信号控制 用处&#xff1a;垃圾桶项目开盖用、智能小车的全比例转向、摄像头云台、机械臂等 常见的有0-90、0-180、0-360 怎么控制舵机 向黄色信号线“…

【电机控制算法】SVPWM算法的应用(基于Simulink与STM32外设场景的仿真)

文章目录 前言一、扇区判断二、各扇区基础矢量作用时间的计算1.若处于扇区I2.若处于扇区II3.若处于扇区III4.若处于扇区IV5.若处于扇区V6.若处于扇区VI7.In a word 三、STM32的外设场景1. TIMx的计数器CNT2. TIMx的输入捕获寄存器CCRx3. TIMx的两种PWM模式 四、互补输出且呈中心…

STM32-定时器中断实验

一、通用定时器基本原理 1-1 三种定时器区别 1.三种STM32定时器区别 定时器种类位数计数器模式产生DMA请求捕获/比较通道互补输出特殊应用场景高级定时器&#xff08;TIM1,TIM8&#xff09;16向上&#xff0c;向下&#xff0c;向上/下可以4有带死区控制盒紧急刹车&#xff0…

CRC校验

一、CRC原理。 CRC校验的原理非常简单&#xff0c;如下图所示。 其中&#xff0c;生成多项式是利用抽象代数的一些规则推导出来的&#xff0c;而模2加&#xff08;也就是异或&#xff09;&#xff0c;是对应于有限域的除法。 二、CRC算法。 那么在FPGA当中&#xff0c;也有好…

CRC-16

文章目录 A.1 CRC16 算法A.1.1 CRC16 算法参数设置A.1.2 LengthA.1.3 CounterA.1.4 Data IDA.1.5 CRCA.1.6 CRC16 算法示例A.1.7 CRC16 算法推荐(查表法)A.1.8 CRC16 实例(查表法) A.1 CRC16 算法 A.1.1 CRC16 算法参数设置 CRC16 算法中要求了 Counter、Data ID、CRC 等参数…

CCR

不用任何与创建线程、资源互斥有关系的API写多线程程序 这次的例子&#xff0c;是一个很简单的控制台&#xff0c;她将面对瞬间提交的百万的数据&#xff0c;而面不改色&#xff08;CPU、内存非常平稳&#xff09;&#xff0c;队列中始终只保存最新的数据&#xff0c;每次只处理…

CRC16

CRC选择 当数据帧长度在8bits-128bits范围内时&#xff0c;推荐CRC-8(CRC-8能够减少额外比特的开销&#xff0c;且有更好的性能表现) 当数据帧长度在128bits-2048bits范围内时&#xff0c;推荐CRC-12&#xff0c;CRC-16&#xff0c;CRC-CCITT(CRC-12额外比特的开销更小&#x…

stm32cubemx HAL库之定时器

定时器原理简单说明&#xff1a; 如上图所示&#xff0c;定时器存在3个寄存器&#xff0c;分别是&#xff1a; 计数器寄存器&#xff08;CNT&#xff09; 预分频器寄存器&#xff08;PSC&#xff09; 自动重载寄存器&#xff08;ARR&#xff09; 预分频寄存器的输入频率是时钟…

CRC详解

CRC-知识解析 cyclic redundancy check 写在前面的话&#xff1a; 之前在做学校项目的时候用到了CRC 原理&#xff0c;但在网上查找的过程中&#xff0c;发现讲解CRC知识的资源很多&#xff0c;但是对新手比较友好的、讲的十分清楚的又很少&#xff0c;很多博主也不求甚解&am…

CCR(Condition Code Register:条件代码寄存器)的作用

CCR是一个显示执行指令后的结果和处理器的状态的8位寄存器。根据微型计算机的不同&#xff0c;名称也会不同&#xff0c;但是所有的微型计算机都有。在大多数微型计算机的情况下&#xff0c;用户不能直接读写&#xff0c;但有些微型计算机可以读写。您可以通过执行可以测试CCR位…