首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习/修改Java

学习/修改Java
EN

Stack Overflow用户
提问于 2010-08-22 13:31:51
回答 4查看 228关注 0票数 3

所以我正在学习Java,我希望在如何完善/增强我制作的计算三角形面积的小应用程序方面得到一些帮助。

代码语言:javascript
复制
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或任何语言的编程都是全新的。如果你不介意的话,你能最详细地解释一下我如何才能完善这个过程/使它变得更容易吗?

非常感谢!

EN

回答 4

Stack Overflow用户

发布于 2010-08-22 13:44:24

没有太多需要简化和完善的地方。我唯一要修改的就是计算面积的那条线。也许使用一个浮点型来避免四舍五入为int。

代码语言:javascript
复制
float area = (float)(base * height) / 2;

因此,您也可以将输入更改为浮点数:

代码语言:javascript
复制
float base = in.nextFloat();
...
float height = in.nextFloat();

然后将计算行更改为:

代码语言:javascript
复制
float area = base * height / 2;

因为现在你不需要转换输入了。

float会给你single-precision浮点数。如果你想要极高的精确度,使用double

票数 2
EN

Stack Overflow用户

发布于 2010-08-22 13:50:16

将其分解为对象。

您的示例显示了语法的正确用法,但是您还没有演示对象的知识。

考虑编写一个Triangle类,并将面积计算作为成员函数来实现。

接下来,您可以探索polymorphism

通过将面积计算提取到名为Shape的公共接口中,重构Triangle类。

所有实现Shape的类都必须提供接口规定的计算面积的方法。

编写一个名为Square的新类来实现接口形状。

票数 2
EN

Stack Overflow用户

发布于 2010-08-22 13:44:06

area不应为int类型。让它成为double

编辑:

代码语言:javascript
复制
double area = base * height / 2.0;

当用户没有输入正确的值时,您可以捕获抛出的异常,并再次询问他(使用循环)。

如果结果的小数位太多,请格式化它:

代码语言:javascript
复制
System.out.println("The area of the triangle is: " +new DecimalFormat("0.000").format(area));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3540306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档