Java 算法:将每个*事物*相互比较
Java Algorithms: comparing each *thing* to every other
我正在创建一个程序,要求我比较每个 int 项目,名为 a,b,c,d,e,f,g,h,i,j对彼此。我知道,从概念上讲,该算法必须如下所示:
- a-b a-c a-d a-e a-f a-g ...
- b-c b-d b-e b-f b-g ...
- c-d c-e c-f c-g ...
- 等等...
我的问题是实施这个 而不是 从字面上写出所有内容。我考虑过使用 'for' 循环,但我不知道如何以 'modular' 方式引用变量名。
如果需要更多解释,请告诉我,在此先感谢!
编辑:Karlphilip 的评论对我帮助很大
您可以将项目放入一个数组中,并使用两个嵌套循环来获取所有对,如下所示:
int[] x = new int[] {a, b, c, d, e, f, g, h, i};
for (int i = 0 ; i != x.length ; i++ ) {
for (int j = i+1 ; j != x.length ; j++ ) {
... // Use x[i] and x[j] here
}
}
要将每个项目与 "array" 或 "list" 数字中的每个其他项目进行比较,您需要将一个 for 循环嵌套在另一个循环中。
我正在创建一个程序,要求我比较每个 int 项目,名为 a,b,c,d,e,f,g,h,i,j对彼此。我知道,从概念上讲,该算法必须如下所示:
- a-b a-c a-d a-e a-f a-g ...
- b-c b-d b-e b-f b-g ...
- c-d c-e c-f c-g ...
- 等等...
我的问题是实施这个 而不是 从字面上写出所有内容。我考虑过使用 'for' 循环,但我不知道如何以 'modular' 方式引用变量名。
如果需要更多解释,请告诉我,在此先感谢!
编辑:Karlphilip 的评论对我帮助很大
您可以将项目放入一个数组中,并使用两个嵌套循环来获取所有对,如下所示:
int[] x = new int[] {a, b, c, d, e, f, g, h, i};
for (int i = 0 ; i != x.length ; i++ ) {
for (int j = i+1 ; j != x.length ; j++ ) {
... // Use x[i] and x[j] here
}
}
要将每个项目与 "array" 或 "list" 数字中的每个其他项目进行比较,您需要将一个 for 循环嵌套在另一个循环中。