0

我有这个任务应该检查三角形是否是等腰、不等边、等边、直角。

我只需要使用小于或等于 2,147,483,647(或 2^31-1 换句话说)的整数。我必须使用 Linux 及其终端来输入值并获得结果。

当我输入 1 到 9 位整数时,输出没有问题,但是如果我想用 2^31-1 等 10 位整数进行测试,那么我得到的结果是不合适的.. .

这是我的代码片段:

public static void main (String[] args)
{
    int a,b,c;
    a = Integer.parseInt(args[0]);
    b = Integer.parseInt(args[1]);
    c = Integer.parseInt(args[2]);
}

谁能建议我如何处理这个问题?

4

1 回答 1

0

我不知道..但我尝试使用 BASH + JAVA 运行您的代码,但我没有看到输出有任何问题。

这是屏幕截图。

在此处输入图像描述


好的,现在解决真正的问题(这必须在情感层面上体现),即某个三角形实际上是等边三角形、不等边三角形、等腰三角形还是直角三角形。

解决问题,写下问题涉及的功能逻辑

  1. 等边三角形:- 三边相等的三角形
  2. 等腰三角形:- 三边中的两条相等的三角形
  3. 不等边三角形:- 没有边相等的三角形

现在想想约束

  1. 你只能使用整数
  2. 作为参数发送的输入

现在开始编写程序,因为你已经完成了分析

public class BufferProblem{
   public static void main(String[] args){ 
     int a, b, c;
     a = Integer.parseInt(args[0]);
     b = Integer.parseInt(args[1]);
     c = Integer.parseInt(args[2]);

     if ((a == b) && (b == c)) { System.out.println("It is an equilateral triangle"); }
     else if (a == b || b == c || c == a) { System.out.println("It is an isosceles triangle"); }
     else if ((a != b) && (b != c) && (c != a)) { System.out.println("It is a scalene triangle");}

   }
}
于 2013-02-06T14:47:20.367 回答