怎么了?(NumberFormatException:null)

2023-12-03

    import java.io.*;
    class AccountInfo {

    private String lastName;
    private String firstName;
    private int age;
    private float accountBalance;
    protected AccountInfo(final String last,final String first,final int ag,final float balance) throws IOException{

        lastName=last;
        firstName=first;
        age=ag;
        accountBalance=balance;
    }
    public void saveState(final OutputStream stream){try{

        OutputStreamWriter osw=new OutputStreamWriter(stream);
        BufferedWriter bw=new BufferedWriter(osw);
        bw.write(lastName);
        bw.newLine();
        bw.write(firstName);
        bw.write(age);
        bw.write(Float.toString(accountBalance));
        bw.close();}
        catch(IOException e){
            System.out.println (e);
        }
    } 
    public void restoreState(final InputStream stream)throws IOException{
        try{


            InputStreamReader isr=new InputStreamReader(stream);
            BufferedReader br=new BufferedReader(isr);
            lastName=br.readLine();
            firstName=br.readLine();
            age=Integer.parseInt(br.readLine());
            accountBalance=Float.parseFloat(br.readLine());
            br.close();}
            catch(IOException e){
                System.out.println (e);
        }

    }

}
    class accounto{
        public static void main (String[] args) {try{



            AccountInfo obj=new AccountInfo("chaturvedi","aayush",18,18);
            FileInputStream fis=new FileInputStream("Account.txt");
            FileOutputStream fos=new FileOutputStream("Account,txt");
            obj.saveState(fos);
            obj.restoreState(fis);}
            catch(IOException e){
                System.out.println (e);
        }
    }
}

我收到以下错误:线程“main”中的异常 java.lang.NumberFormatException:null 在 java.lang.Integer.parseInt(Integer.java:454) 在 java.lang.Integer.parseInt(Integer.java:527) 在 AccountInfo.restoreState(accounto.java:43) 在 accounto.main(accounto.java:60)


这是你的代码:

BufferedReader br=new BufferedReader(isr);
//...
age=Integer.parseInt(br.readLine());

这是文档BufferedReader.readLine()(粗体我的):

包含该行内容的字符串,不包括任何行终止字符,or null如果已到达流末尾

事实上,您从未真正检查是否达到 EOF。你能确定你的输入吗(事实证明你不能)。

还为Integer.parseInt():

Throws:

NumberFormatException- 如果字符串不包含可解析的整数。

null几乎不是一个“可解析整数“。最简单的解决方案是检查您的输入并以某种方式处理错误:

String ageStr = br.readLine();
if(ageStr != null) {
  age = Integer.parseInt(br.readLine())
} else {
  //decide what to do when end of file
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

怎么了?(NumberFormatException:null) 的相关文章

  • Math.random() 解释

    这是一个非常简单的 Java 尽管可能适用于所有编程 问题 Math random 返回 0 到 1 之间的数字 如果我想返回零到百之间的整数 我会这样做 int Math floor Math random 101 在一到一百之间 我会这
  • 从字符串中删除多个子字符串 - Java

    我需要从给定字符串中删除多个子字符串 例子 String exclude one two three String input if we add one and two we get three 我希望我的程序从输入字符串中删除所有出现的
  • 如何修复安装 maven jar 插件依赖项时出现的错误?

    我正在将应用程序制作成 maven 中的 jar 文件 但是 当我从 Maven 中提取 jar 插件存储库并在终端中运行这三个命令时 mvn clean mvn compile mvn package 在 mvn package 中 我收
  • 如何测试 Jersey REST Web 服务?

    我已经编写了一个 Restful Web 服务 并且必须使用 JUnit4 对其进行测试 我已经使用 Jersey Client 编写了一个客户端 但想知道我是否只能使用 junit4 测试我的服务 至少有人可以帮我提供样品吗 我的休息服务
  • Spring批量写入器限制

    我正在工作 Spring Batch 项目 从数据库读取记录然后写入rabbitmq 然后发送到HTTP消息网关 网关有150TPS我需要将我的应用程序限制为 150TPS 有没有办法带弹簧批的油门或者还有其他更好的方法吗 你能行的 在 S
  • 如何将 ArrayList 中的所有值相加或转换为 ArrayList

    我试图将 ArrayList 中的所有值相加 但没有任何方法可以让我得到总和 我必须找到从文本文件中提取的数字的平均值 public static void main String args throws IOException File
  • 从 java 类生成 xsd 的实用程序

    我想为以下类生成 xsd public class Node private String value private List
  • java.time.LocalDate 到 java.util.Date

    转换的最佳方式是什么java time LocalDate to java util Date Date from dateToReturn atStartOfDay ZoneId systemDefault toInstant 我一直在尝
  • 在Java中读取制表符分隔的文件

    我有以下代码来读取 Java 中的制表符分隔文件 while str in readLine null if str trim length 0 continue String values str split t System out p
  • 如何将点击侦听器添加到 Android/Java Textview 中的字符串中?

    我想要完成的是大多数 Twitter 应用程序中的标准操作 在文本视图中 文本字符串中的单词前面可能有 提及或 主题标签 并且它们实际上能够添加点击侦听器这个词启动了另一项活动 有谁知道这是如何实现的 下面我附上了一张示例照片 显示了我想要
  • Java 7 中新的 JNLP 缺少项目警告是怎么回事?

    从 Java 6 切换到 Java 7 后 我的 JNLP 仍然工作正常 但它现在抛出一系列如下错误 Missing Application Name manifest attribute for http blah com app jar
  • 如何在 Java 中读取/转换 InputStream 为字符串?

    如果你有一个java io InputStream对象 您应该如何处理该对象并生成一个String 假设我有一个InputStream包含文本数据 我想将其转换为String 例如我可以将其写入日志文件 最简单的方法是什么InputStre
  • 当对话框打开时如何处理屏幕方向变化?

    我有一个 Android 应用程序 它已经在处理方向的更改 即有一个android configChanges orientation 在清单和onConfigurationChange 活动中的处理程序切换到适当的布局并准备它 我有一个横
  • 如何管理一个 JInternalFrame 调用另一个 JInternalFrame?

    我有一个带有此代码的 JDesktopPane public class Menu extends JFrame implements ActionListener Creates new form Portada public stati
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • 如何在java中进行多处理,以及预期的速度提升是多少?

    我是一个新手 使用 Java 对 csv 文件进行一些数据处理 为此 我使用 Java 的多线程功能 线程池 将 csv 文件批量导入到 Java 中 并对每一行执行一些操作 在我的四核处理器上 多线程大大加快了处理速度 我很想知道多处理如
  • 旧的和奇异的 JVM 上 java.io.BufferedInputStream 的默认缓冲区大小是多少?

    我一直在为一篇关于以下内容的博客文章进行一些研究java io BufferedInputStream和缓冲区 显然 多年来 默认值已从区区 512 字节增长到 8192 字节 冒昧地 Sun 的 Java 7 实现 甚至在JDK 1 1
  • 无法取消 GWT 中的重复计时器

    我正在尝试在 GWT 中安排一个重复计时器 它将每一毫秒运行一次 轮询某个事件 如果发现满意 则执行某些操作并取消计时器 我尝试这样做 final Timer t new Timer public void run if condition
  • 每次修改代码时都必须 mvn clean install

    我不是来自 Java 世界 但我必须为我的一个项目深入研究它 我不明白为什么每次修改或更新代码时 都必须 mvn clean install 来调试代码的最新版本 你知道为什么吗 尝试按Ctrl Shift F9 热插拔 有时会有所帮助
  • Java GridBagConstraints gridx 和 gridy 不工作?

    我正在尝试使用gridx and gridy定位我的按钮的约束 但它们不起作用 如果我改变gridx and gridy变量 什么也没有发生 如果我将填充更改为GridBagConstraints to NONE 仍然不行 我在这里错过了什

随机推荐

  • MAMP PRO 崩溃; MySQL 不会在重启时启动

    今天上班时 我的电脑突然死机 崩溃了 重新启动时 MAMP 拒绝启动 mysql 我不明白为什么 肯定没有其他mysql进程在运行 我已经检查过好几次了 所以killall 9 mysqld不是解决方案 实际上我也完全重新安装了 MAMP
  • twitter4j 未发现身份验证挑战

    几天来一直尝试使用 twitter4j 发布推文 但没有运气 我想做的是让一个人在一轮结束时从应用程序的时间轴上发布他们的新最高分 这是我的代码 Override protected void onCreate Bundle savedIn
  • pandas.read_parquet 错误地解释了日期字段

    我有一个镶木地板文件 其中有一个日期字段 名为 BusinessDate 当我将其导入数据框时 它会自动确定字段 BusinessDate 是日期 datetime64 ns UTC 然而 由于这种格式 BusinessDate 场是 YY
  • 有没有办法在textview中显示HTML内容?

    我尝试了 iPhone Cookbook 中的以下一项 我通过访问 UITextview 的私有 API 显示 HTML 内容 例如 interface UITextView extended void setContentToHTMLSt
  • 用 python 抓取表格

    我正在尝试抓取表格并将其转换为 python 中的 data tables 但我在美国的选举数据方面运气不佳 这是我想要抓取的数据的 html tr class type republican th class results name a
  • 拆分字符串并将区域设置应用于 Pandas Series 的每一行

    我想对amount以下 df 的列 Address type amount 0 0x88aDa02f6fCE2F1A833cd9B4999D62a7ebb70367 outflow 250 000 VSO 1 0x88aDa02f6fCE2
  • 在nextjs中查看页面源不显示页面

    由于 SEO 我将项目从 CRA 转移到了 nextjs 在服务器端渲染时 客户端会获得完整的 HTML 页面作为响应 但在我的情况下 当我查看登陆页面的页面源时 我只会看到 div div div div 在每个页面上 页面源显示相同 这
  • 对 vtable 的未定义引用...

    我正在尝试编写一个 Http 代理 其工作原理基本上如下印度网络代理 所以我启动了 qtcreator 但我的一个类无法编译并出现臭名昭著的错误 undefined reference to vtable for HttpProxyThre
  • 查找一组日期范围中的空白的好方法是什么?

    查找一组日期范围中的空白的方法是什么 例如 我有这些日期范围 1 1 11 1 10 11 1 13 11 1 15 11 1 20 11 1 30 11 然后我的开始日期和结束日期分别为 2011 年 1 月 7 日和 2011 年 1
  • Android 相机2 API。设置多个 ImageReader 表面会产生空白输出

    我有一个camera2实现 当前的设置是 它使用纹理视图表面来显示实际的相机视图和ImageReader用于捕捉图像的表面 现在我也想捕获预览帧 所以我尝试添加一个新的ImageReader用于捕获帧的表面 但是当我将该表面添加到creat
  • ActionBar 中 SearchView 的主题

    我有一个SearchView in an ActionBar This SearchView图标是黑色的 文本也是黑色的 而我的图标是白色的 menu menu
  • 如何检测 Chrome 扩展程序中的网络状态变化

    我正在编写一个简单的 Chrome 扩展 需要该行为来检测设备是否连接到互联网 我目前正在尝试连接到 ping 服务来检查网络状态 但效率不高 我可以从 Chrome JavaScript API 监听任何事件吗 中没有具体事件Chrome
  • 写入操作期间发生磁盘错误。 (HRESULT 异常:0x8003001D (STG_E_WRITEFAULT))

    我正在使用 EPPlus 读取 vb net 中的 csv 文件 当我运行此代码时 出现错误 写入操作期间发生磁盘错误 HRESULT 异常 0x8003001D STG E WRITEFAULT 这是我的代码 Public Functio
  • 尝试让 QProcess 使用队列

    我正在尝试使用队列运行多个进程 并使用以下命令获取所有进程的输出QProcess但我有几个问题 我正在使用一个QSpinBox设置同时运行的最大进程数 我可以让主线程中的一切正常工作 或者如果我使用进程中的进程运行循环QObject但我无法
  • XML 规范是否定义在自闭斜杠之前有空格是非法的?

    我说的是 XML 文档而不是 HTML 由于在 HTML 中 br and br 都是有效的 想知道 XML 规范是否定义了自闭斜杠之前是否允许有空格 我刚刚遇到一个奇怪的问题
  • ModuleNotFoundError:没有名为“Crypto.Math”的模块

    在 Windows 上 我想运行pyinstaller myapp py w f但我对加密模块有一些错误 在我的代码中 我使用 4 个导入 这 4 个导入中的每一个 独立 都会给我同样的错误 from googleapiclient dis
  • 将属性文件添加到 IntelliJ 的类路径

    我正在使用 运行 gt 运行 菜单从 IntelliJ IDE 运行一个简单的 Java 程序 效果很好 现在我想添加 log4j 日志记录 我在项目根目录下添加了一个资源文件夹 我在该文件夹中添加了一个 log4j properties
  • angularjs 单击按钮显示下一个/上一个 div

    我有一堆用 ng repeat 创建的 Div Plunker 快速图片 是否可以像滑块一样创建这堆 div 工作 喜欢 如果我按 下一步 按钮 顶部 div 将滑开 并显示第二个顶部 按 上一个 按钮将显示上一个 div 如果有 Code
  • SQL 挑战/难题:给定堆栈跟踪 - 如何找到每个时间点的顶部元素?

    我现实生活中的用例是合并嵌套范围 我画了一些草图 然后我看到了堆栈 PUSH 和 POP 操作的开始和结束范围之间的相似之处 我明白解决了这个问题也就解决了原来的问题 The op实际上可以从问题中删除列 当 val 为 NULL 时 则为
  • 怎么了?(NumberFormatException:null)

    import java io class AccountInfo private String lastName private String firstName private int age private float accountB