java中的数组存在哪?

Python020

java中的数组存在哪?,第1张

最后那个打印是bb那个方法里面调换了值x=a[0]a[0]=b[0]b[0]=x,先是100等于x,然后是吧200赋值给了a[0],接下来是吧x=100赋给了b[0],所以此时的a[0]=200,b[0]=100

数组分为堆上数组和栈上数组,x=a[0]x在堆上,a[0]在栈上.

题目很简单,关键是思路

先找出最大值、最小值,并记住其位置

再做交换

具体参考下列代码

import java.util.Arrays

public class Test {

/**

 * @param args

 */

public static void main(String[] args) {

// 第一步:定义数组

int[] arrs = { 6, 2, 9, 15, 1, 5, 20, 7, 18 }

// 第二步:找出最大值、最小值

int maxIndex = 0 // 最大值初始索引 = 0

int max = arrs[maxIndex]

int minIndex = 0 // 最小值初始索引 = 0

int min = arrs[minIndex]

for (int i = 1 i < arrs.length i++) {

if (arrs[i] > max) {

max = arrs[i]

maxIndex = i

}

if (arrs[i] < min) {

min = arrs[i]

minIndex = i

}

}

System.out.printf("第[%d]个值是最大值:%d \n", (maxIndex + 1), max)

System.out.printf("第[%d]个值是最小值:%d \n", (minIndex + 1), min)

System.out.println("开始交换最大值")

int end = arrs[arrs.length - 1] // 记录最后一个元素值

arrs[arrs.length - 1] = max // 最后一个元素值 = max

arrs[maxIndex] = end // 原最大值 = 最后一个值

int start = arrs[0] // 记录第一个元素值

arrs[0] = min // 第一个元素值 = min

arrs[minIndex] = start // 原最小值 = 第一个值

System.out.println("最终结果:")

System.out.println(Arrays.toString(arrs))

}

}

亲,答题也需要时间和精力,如果回答满意,请及时采纳,你的合作是我回答的动力!! 谢谢!!