0

我有一个方程:A = b^2 + 4*c^2

我像这样改变'b'和'c'的值:b=1,2,3,4,5,... 然后 c=1,2,3,4,5,... 我把它们放在等式中。

我想创建一个结果表(作为输出),如下所示:

      b  c  A
      1  1  5
      1  2  17
      2  1  8
      2  2  20
      4  1  20
      ........

但是,我想让表格从 A 的最小值到最大值排序。请注意,可能会出现不同的 b 和 c 对给出相同的 A。我想为 10 个不同的 A 值创建这样的表。

我的问题是,当我尝试对表格进行排序时,我不知道如何将值 A 与正确的 b 和 c 值“链接”

4

2 回答 2

5

您可以创建一个代表三个值的类,然后进行排序。

class Tuple implement Comparable<Tuple>{

     int a, b, c;
     //....
     int compareTo(Tuple tuple) {
         return Integer.compare(a, tuple.a);
     }

}

Tuple[] tuples;
// ...
Arrays.sort(tuples);
于 2013-05-14T21:28:03.467 回答
1

一种简单的方法:

制作一个 3 列数组,当您按 A 列排序时,请随身携带该行的其余部分。

有很多可能性。

于 2013-05-14T21:25:20.077 回答