【发布时间】:2013-10-24 12:28:55
【问题描述】:
我刚开始使用 Java,所以我犯了很多错误,我已经解决并理解了许多错误,但现在我遇到了输入问题。我看到有两种输入:InputBufferedReader 和 Scanner,但我读到第一种更好(我还不知道为什么),所以我正在使用它。
我得到的错误是:
代码
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,但我不明白为什么以及如何工作
【问题讨论】:
-
Berry120 确实是正确的,但是在风格上;当您捕获异常时,您只需打印“不正确”,但程序会继续其愉快的方式;这是期望的行为还是程序无法继续还是致命问题?捕获异常时,您应该始终修复问题或抛出运行时异常以结束程序,否则您可能会遇到奇怪的错误,唯一的线索是在程序编写的其他所有内容中写有一点“不正确”跨度>
-
或者总而言之,这是程序的可取性顺序; (1)它工作正常,(2)它在问题发生时崩溃到运行时异常,(3)它运行但给出了错误的答案或在一个令人困惑的地方崩溃。不惜一切代价避免使用低于 3 的程序
标签: java