一个天真的方法是遍历数组的每个元素,随时检查值:
for (int i = 0; i < abcd.length; i++) { if (abcd[i] == A) { A = i+1; } } // Rinse and repeat for B, C, D
当然,如果采用这种方法,将其转换为接受数组的函数,要搜索的值,并在数组中返回其索引.
一个天真的方法是遍历数组的每个元素,随时检查值:
for (int i = 0; i < abcd.length; i++) { if (abcd[i] == A) { A = i+1; } } // Rinse and repeat for B, C, D
当然,如果采用这种方法,将其转换为接受数组的函数,要搜索的值,并在数组中返回其索引.
我认为你误解了原语数组的工作方式.当您创建数组int [] abcd = {A,B,C,D}时,它不包含变量A,B,C和D,它应包含其值的副本.
因此,当您对它们进行排序时,实际上对A,B,C或D没有任何影响.
实现与您尝试做的事情接近的一种方法是使用有序映射,其中每个值将映射到值持有者,然后您可以迭代键(按排序顺序)并分配序列号每个价值持有人.
如果您澄清更多关于您真正想做的事情,可能更容易提供帮助.