gpt4 book ai didi

java - Java 中未处理的异常类型 IOException

转载 作者:行者123 更新时间:2023-12-01 06:53:14 25 4
gpt4 key购买 nike

我刚刚开始使用 Java,所以我犯了很多错误,我已经解决并理解了其中的许多错误,但现在我遇到了输入问题。我看到有两种输入:InputBufferedReader 和 Scanner,但我读到第一种更好(我还不知道为什么),所以我使用它。

我得到的错误是: IOException

代码

import java.io.InputStreamReader;
import java.io.BufferedReader;

public class Cerchio{

private float r;
private float area;
private float cfr;
final double pi = 3.14;


public static void main(String[] args){
System.out.println("Programma cerchio\n");

Cerchio cerchio = new Cerchio();
cerchio.getR();
cerchio.c_cfr();
cerchio.c_area();
System.out.println("La circonferenza è: " + cerchio.cfr);
System.out.println("L area è: " + cerchio.area);
}

private float getR(){
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader num = new BufferedReader(input);

try{
String sr = num.readLine();
r = Float.valueOf(sr).floatValue();
} catch(NumberFormatException nfe){
System.out.println("Incorrect!!!");
}
return r;
}

private float c_cfr(){
cfr =(float)(2 * pi * r); //casting
return cfr;
}

private float c_area(){
area = (float)(pi * (r*r));
return area;
}

}

可能还有其他错误,但我不知道如何解决这个错误。

怎么了?谢谢!

PS:我读过this但我不明白为什么以及如何运作

最佳答案

Alessio,在 Java 中,有两种类型的异常:

  • 异常(exception):它们已被检查
  • 运行时异常:未检查

当一个方法可以触发“已检查”异常时,您必须处理它。

为此,您有两种方法:

  • 在方法签名末尾添加“抛出 IOException”(这是您发布的链接所建议的)
  • 使用 try catch 处理您的异常阻止。

就您而言,IOException 是一个“已检查”异常,因此您应该向 getR 方法添加“抛出 IOException”或使用 try catch 处理它。

PS:如果你正在学习java,最好使用IDE,例如eclipse,你会更容易理解错误,因为它会用一些文本突出显示来指出它,并为你提供解决方案.

关于java - Java 中未处理的异常类型 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com