程序控制流与数组
补充知识
关于Java的结构划分
程序控制流
ps 关于产生一个随机数
数组的相关知识
数组的运用实例
一,猜数字游戏
动态初始化数组,存入5个随机的1-20之间的数据
定义一个死循环,不断的猜数据,遍历数姐,判断数据是否在数组中,如果在,进行
对应提示并结束死循环;如果没有猜中,提示继续。
package Arry;
import java.util.Random;
import java.util.Scanner;
public class ArryCaishuzi {
public static void main(String[] args) {
int[] data = new int[5];
Random r = new Random();
for (int i=0;i< data.length;i++) {
data[i] = r.nextInt(20)+1;
}
Scanner GuessData = new Scanner(System.in);
OUT:
while(true){
System.out.println("请输入一个1-20之间的数字");
int guessdata = GuessData.nextInt();
for(int i = 0;i<data.length;i++){
if(data[i] == guessdata){
System.out.println("猜对了!您猜中的数据索引是" + i);
break OUT;
}
}
System.out.println("猜测的不存在");
}
for (int i= 0;i< data.length;i++) {
System.out.println(data[i] + "\t");
}
}
}
二.随机交换数组元素位置
package Arry;
import java.util.Random;
import java.util.Scanner;
public class ArrySuijipaiming {
public static void main(String[] args) {
//目标:键盘录入一组工号,最终要随机输出一组出来进行排名
//动态初始化一个数组,存储n个工号
Scanner sc = new Scanner(System.in);
System.out.println("请输入要录入工号的个数:\t");
int a = sc.nextInt();
int[] data = new int[a];
//定义一个循环,循环a次,录入工号
for (int i = 0; i < data.length; i++) {
System.out.println("请输入第" + (i+1) + "位员工的工号");
int number = sc.nextInt();
//存入数组中
data[i] = number;
}
//遍历一次初始的数组
System.out.println("交换位置前的数组为:");
for (int i = 0; i < data.length; i++) {
System.out.print(data[i]);
}
//遍历数组中的每一个元素,然后随机一个索引出来,让该元素与随机索引位置的元素进行交换
Random r = new Random();
for (int i = 0; i < data.length; i++) {
//当前遍历的元素值为data[i]
//随机一个索引位置的元素为data[index]]
int index = r.nextInt(data.length);
//定义一个临时变量将随机索引处元素进行存储
int temp = data[index];
//将i处的元素赋给随机索引处
data[index] =data[i];
data[i] = temp;
}
//将换过位置后的数组遍历
System.out.println("交换位置后的数组为:");
for (int i = 0; i < data.length; i++) {
System.out.print(data[i]);
}
}
}
数组的内存分析
(一)JAVA内存分配介绍
(二)两个数组变量指向同一个数组对象
数组的常见问题
ps idea中Debug的使用方法
今天的内容就到这结束啦
明天见!