【问题标题】:Need Help in taking Input from DataInputStream in java需要帮助从 java 中的 DataInputStream 获取输入
【发布时间】:2020-02-02 11:15:17
【问题描述】:

这是我的代码:

import java.io.*;

class InterestCalcs {

    public static void main(String arg[]) {
        Float prinAmount = new Float(0);
        Float ROI = new Float(0);
        DataInputStream in = new DataInputStream(System.in);
        String tempString;
        int noOfYears;
        System.out.println("Enter Amount :");
        System.out.flush();
        tempString = in .readLine();
        prinAmount = Float.valueOf(tempString);
        System.out.println("Enter ROI:");
        System.out.flush();
        tempString = in .readLine();
        ROI = Float.valueOf(tempString);
        System.out.flush();
        tempString = in .readLine();
        noOfYears = Integer.parseInt(tempString);
        float interestTotal = ROIprinAmountnoOfYears;
        System.out.println("The total interest is " + interestTotal);
    }
}

【问题讨论】:

  • 问题是什么?
  • 我收到“InterestCalc.java 使用或覆盖已弃用的 API。”编译期间
  • 我是一个新手程序员我真的不明白“堆栈跟踪”是什么意思?
  • 发布您看到的完整错误消息,包括它出现在哪一行。
  • 阅读文档,即DataInputStream.readLine()的javadoc:已弃用。此方法无法正确转换字节到字符。从 JDK 1.1 开始,读取文本行的首选方法是通过 BufferedReader.readLine() 方法。 --- JDK 1.1 是在 1997 发布的,所以除非你的代码超过 22 年,否则你调用那个方法做什么?或者为什么不像其他人一样使用Scanner

标签: java datainputstream


【解决方案1】:

尝试使用 BufferedReader

BufferedReader 阅读器 = new BufferedReader(new InputStreamReader(System.in));

tempString = reader.readLine();

【讨论】:

  • 我使用了它,我得到“错误:未报告的异常 IOException;必须被捕获或声明为抛出”,无论哪里使用 readLine() 方法
  • 使用 try catch 块:try { tempString = reader.readLine(); } catch (IOException e) { e.printStackTrace(); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 2022-07-20
  • 2012-04-05
  • 2014-04-10
  • 2019-11-01
  • 1970-01-01
相关资源
最近更新 更多