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. 正三角形 :- 3辺すべてが等しい三角形
  2. 二等辺三角形:3辺のうち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 に答える