zoukankan      html  css  js  c++  java
  • 软件测试学习随笔(4) String转Int

         在编程中,有时需要将String型的变量编程Int型。例如,软件测试课程上的例子,输入年份,输出输入的年份是否闰年,我们可以考虑到有一些用户会输入如abc这样的不合法输入,虽然在实际中可以做出这种事的人很少,但是为了程序的功能的完整,我们程序员必须去考虑这些问题。这时候,就需要用到String转Int的方法了。

         在Java中,String转Int可以使用 Integer.parseInt( str ) 的方法。其中:

             str所表示的数字时,需要注意其不能超过Int的表示范围,否者会抛出OverflowException异常;

             如果str不是数字,则程序会抛出FormatException异常;

             如果str为空时,会抛出ArgumentNullException异常。

         这样,就可以处理在实际问题中输入的是字符串的问题了。如果有人输入了字符串,可以用一下代码对输入的字符串进行过滤处理进行过滤处理:

    1 try{
    2     int year = Integer.parseint(str);
    3 
    4  }
    5 catch(Exception e){
    6     System.out.println("输入不合法");
    7 
    8 }

          这样就可以实现对不合法数据的过滤处理。

          接下来,我们用一个小的Java程序来检测一下

              在控制台分别输入数字、字符串、空的输出结果如下

           程序的代码如下

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    
    public class input {
        public static void main(String[] args) throws IOException{
           System.out.println("Enter a number:");
           BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
           String str = null;
           str = br.readLine();
           int year = 0;
           try{
               year = Integer.parseInt(str);
           }
           catch(Exception e){
               System.out.println("输入不合法");
               return;
           }
    
           System.out.println("number is :"+year);}
        
    }

         

  • 相关阅读:
    yolov3计算mAP
    ESP32 ADC的坑
    DCNv2编译过程报错:error: identifier "THCudaBlas_SgemmBatched" is undefined
    Arduino在Lib中输出调试参数
    ESP32获取WT901CTTL/232四元数
    常用公共前端CDN库
    js / php 网站底部版权文字自动改变年份
    以管理员身份在当前目录打开命令行窗口
    【JavaScript】提取字符串里的分数,及计算平均分并与平均分比较输出
    添加谷歌翻译到你的网站
  • 原文地址:https://www.cnblogs.com/pjk2015/p/4396770.html
Copyright © 2011-2022 走看看