今天周末,下午到晚上也是出门了,出门的时候先看了数组剩余三课的视频,然后把课件和老师写的代码截图在路上思考,总共是两题,一题是按照顺序重新排列数组,一题是稀疏数组(好像是这么叫),代码不多,在外面看这图我以为自己理解了,回来打算不看老师的代码,靠着自己的理解和印象敲一遍,敲了半天12点多了刚刚还原第一个按顺序重新排列数组的,代码还是得经常敲 ,东西没用到就容易忘记,卡了半天问题竟然是出在赋值上面, 等号右边的内容赋值给左边的,这是最基本的,重新排列涉及到3次赋值,弄错了程序能跑,就是出来的数据莫名其妙的,基础这块得定期回看!
import java.util.Arrays;
public class Demon06 {
public static void main(String[] args) {
int[] a = {2,56,23,567,1,3,889,666};
int[] turn = turn(a); //调用方法
System.out.println(Arrays.toString(a));//Arrays.toString 系统自带的打印数组方法
}
public static int[] turn(int[] array){
int temp = 0;
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {//这边这个-1然后在-i只是为了少运行一次,没有-i也能运行
if(array[j]>array[j+1]){
temp = array[j+1] ; //后面的赋值给前面的,顺序错的话就不行
array[j+1] = array[j];
array[j] = temp;
}
}
}
return array;
}