所以我正在学习Java,我希望在如何完善/增强我制作的计算三角形面积的小应用程序方面得到一些帮助。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("What's the base?");
int base = in.nextInt();
System.out.println();
System.out.println("What's the height?");
int height = in.nextInt();
System.out.println();
int area = base * height / 2;
System.out.println("The area of the triangle is: " +area+ ".");
}
}请注意,我对Java或任何语言的编程都是全新的。如果你不介意的话,你能最详细地解释一下我如何才能完善这个过程/使它变得更容易吗?
非常感谢!
发布于 2010-08-22 13:44:24
没有太多需要简化和完善的地方。我唯一要修改的就是计算面积的那条线。也许使用一个浮点型来避免四舍五入为int。
float area = (float)(base * height) / 2;因此,您也可以将输入更改为浮点数:
float base = in.nextFloat();
...
float height = in.nextFloat();然后将计算行更改为:
float area = base * height / 2;因为现在你不需要转换输入了。
float会给你single-precision浮点数。如果你想要极高的精确度,使用double。
发布于 2010-08-22 13:50:16
将其分解为对象。
您的示例显示了语法的正确用法,但是您还没有演示对象的知识。
考虑编写一个Triangle类,并将面积计算作为成员函数来实现。
接下来,您可以探索polymorphism。
通过将面积计算提取到名为Shape的公共接口中,重构Triangle类。
所有实现Shape的类都必须提供接口规定的计算面积的方法。
编写一个名为Square的新类来实现接口形状。
发布于 2010-08-22 13:44:06
area不应为int类型。让它成为double。
编辑:
double area = base * height / 2.0;当用户没有输入正确的值时,您可以捕获抛出的异常,并再次询问他(使用循环)。
如果结果的小数位太多,请格式化它:
System.out.println("The area of the triangle is: " +new DecimalFormat("0.000").format(area));https://stackoverflow.com/questions/3540306
复制相似问题