如何防止反转方法影响平方输出


public static void Reversed (int[] array){
  for (int i = 0; i < array.length / 2; i++){
     int temp = array[i];
     array[i] = array[array.length - (1 + i)];
     array[array.length - (1 + i)] = temp;
  }
}
public static void Squared (int[] array){
  for (int i = 0; i < array.length; i++){
     array[i] = array[i] * array[i];
  }
}
public static void main (String[] args){
  int[] list = new int[5];
  for (int i = 0; i < list.length; i++)
     list[i] = (int) (Math.random() * 1001);
  System.out.println ("The original set is " + Arrays.toString(list) + ".");
  System.out.println ("nThe largest number is " + Max(list) + ".");
  System.out.println ("The smallest numer is " + Min(list) + ".");
  Reversed(list);
  System.out.println ("The reversed array is " + Arrays.toString(list) + ".");    
  Squared(list);
  System.out.println ("The array squared is " + Arrays.toString(list) +       
    ".");
  }

这些方法按预期工作,但输出也会反转平方数,即使它们不应该反转。平方集应该与原始随机生成的集合的顺序相同。我尝试将平方方法放在反向方法之前,但它没有任何影响。有没有办法使一种方法"自成一体"?

提前谢谢!!

好的,

让我指导你完成你自己的程序。

您正在创建一个随机数数组,到目前为止一切顺利。然后你通过调用 Reversed() 反转列表,数组被反转,也很好。排在第三位,您通过调用 Squared() 来对数组的数字进行平方,这也确实有效。

现在想想,你已经反转了一次数组,为什么不能用同样的方法再反转一次呢?因为那是,用什么方法!它们不仅使您的代码更具可读性,还允许您一遍又一遍地重用同一段代码。

关于这一点,您可以在将平方数组打印到屏幕上之前第二次调用Reversed()

public static void main (String[] args){
    int[] list = new int[5];
    for (int i = 0; i < list.length; i++)
       list[i] = (int) (Math.random() * 1001);
    System.out.println ("The original set is " + Arrays.toString(list) + ".");
    Reversed(list);
    System.out.println ("The reversed array is " + Arrays.toString(list) + ".");    
    Squared(list);
    Reversed( list );
    System.out.println ("The array squared is " + Arrays.toString(list) +       
      ".");
    }

此致敬意。

相关内容

  • 没有找到相关文章

最新更新