03-数组

 案例1(猜数字游戏)代码实现部分:

 1     public static void main(String[] args){
 2         //定义一个动态数组用于存放随机生成的5个随机数
 3         int randNums[] = new int[5];
 4         //创建一个随机数生成对象
 5         Random rand = new Random();
 6         //用for循环生成5个随机数
7 for (int i = 0; i < randNums.length; i++) { 8 randNums[i] = rand.nextInt(1,21); 9 } 10 for (int i = 0; i < randNums.length; i++) { 11 System.out.print(randNums[i] + " "); 12 } 13 //键盘录入玩家猜测的数字 14 Scanner sc = new Scanner(System.in); 15 while(true){ 16 int flag = 0; 17 System.out.println("请输入您要猜测的数字-->"); 18 int guessNum = sc.nextInt(); 19 for (int i = 0; i < randNums.length; i++) { 20 if(guessNum == randNums[i]) //说明猜中了 21 { 22 flag = 1; 23 System.out.println("运气不错,猜中了"); 24 System.out.println("该数据第一次出现的位置(下标为):" + i); 25 break; 26 } 27 } 28 if(flag == 0) { 29 System.out.println("未命中"); 30 } 31 if(flag == 1){ 32 for (int i = 0; i < randNums.length; i++) { 33 System.out.print(randNums[i] + " "); 34 } 35 break; 36 } 37 } 38 }

示例1运行结果:(为了可以更好地进行测试,我们把随机生成的5个数字打印出来)-->

 

 

 

案例2(员工随机排名)代码实现部分:

 1 public static void main(String[] args){
 2         //用数组录入5个人的工号
 3         int number[] = {22,33,35,13,83};
 4         //创建随机数生成对象
 5         Random rand = new Random();
 6         for (int i = 0; i < number.length; i++) {
 7             int randNum = rand.nextInt(0,number.length);
 8             int tmp = number[i];
 9             number[i] = number[randNum];
10             number[randNum] = tmp;
11         }
12         for (int i = 0; i < number.length; i++) {
13             System.out.print(number[i] + " ");
14         }
15     }

示例2运行结果:

 

示例3(冒泡排序)代码实现部分:

 1    public static void main(String[] args) {
 2         int arr[] = {2, 1, 3, 5, 9, 7, 4, 6, 0, 2, 1, 3};
 3         for (int i = 0; i < arr.length - 1; i++) {  //外层循环控制循环的轮数
 4             for (int j = 0; j < arr.length - 1 - i; j++) {  //内层循环控制每轮循环的次数
 5                 if (arr[j] > arr[j + 1]) {
 6                     int tmp = arr[j];    //借助变量tmp交换两个数的值
 7                     arr[j] = arr[j + 1];
 8                     arr[j + 1] = tmp;
 9                 }
10             }
11         }
12         for (int i = 0; i < arr.length; i++) {
13             System.out.print(arr[i] + " ");
14         }
15     }

示例运行结果:

 补充:数组内存图(内存五大分区:栈、堆、方法、本地方法栈、寄存器)

 

posted @ 2022-03-27 18:21  羽梦齐飞  阅读(22)  评论(0编辑  收藏  举报