题目01:数组求最值
对一组分数:100,88,99,77,80,60 分别求最大值和最小值
public class ArrayDemo01 {
public static void main(String[] args) {
int[] score = {100,88,99,77,80,60};
//以数组的第一个元素为参照,定义变量max存储最大值元素,min存储最小值元素
int max = score[0];
int min = score[0];
//遍历数组内的每一个元素,依次与max,min比较找最大最小值
for (int i = 0; i < score.length; i++) {
if (score[i] > max){
max = score[i];
}
if (score[i] < min){
min = score[i];
}
}
System.out.println("该组分数的最大值是:" + max );
System.out.println("该组分数的最小值是:" + min );
}
}
题目02:猜数字游戏
开发一个幸运小游戏,游戏规则如下:
游戏后台随机生成1-20之间的5个数(无所谓是否重复),然后让大家来猜数字:
- 未猜中提示:"未命中",并继续猜测
- 猜中提示:"运气不错,猜中了",并输出该数据第一次出现的位置,并输出全部5个数据,最终结束本游戏(第一次猜中该数字就结束游戏)。
import java.util.Random;
import java.util.Scanner;
public class ArrayDemo02 {
public static void main(String[] args) {
//1.创建一个动态数组存储随机生成的5个数
int[] data = new int[5];
//2.把随机生成的5个1-20的数据放到动态数组中
Random r = new Random();
for (int i = 0; i < data.length; i++) {
data[i] = r.nextInt(20)+1;
}
//3.使用死循环让用户进行猜测
Scanner sc = new Scanner(System.in);
OUT:
while (true){
System.out.print("请您输入一个1-20之间的整数进行猜测:");
int guessData = sc.nextInt();
//4.遍历数组的每一个数,判断是否与猜中,并给出提示
for (int i = 0; i < data.length; i++) {
if (data[i] == guessData){
System.out.println("运气不错,猜中了!您猜中的数据的索引是:"+i);
break OUT;//跳出整个死循环
}
}
System.out.println("未猜中,请继续猜。");
}
//5.输出数组内的所有元素
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + "\t");
}
}
}
题目03:随机排名
随机录入5个数据,并对这5个数据进行随机排序
import java.util.Random;
import java.util.Scanner;
public class ArrayDemo03 {
public static void main(String[] args) {
//1.创建一个长度为5的动态数组
int[] datas = new int[5];
//2.将数据一个个存到数组中去
Scanner sc = new Scanner(System.in);
for (int i = 0; i < datas.length; i++) {
System.out.print("请您输入第" + (i+1) + "个数据:");
int data = sc.nextInt();
datas[i] = data;
}
//3.遍历数组中的每一个元素,随机一个索引,让随机索引的元素与遍历到的本元素交换位置
Random r = new Random();
for (int i = 0; i < datas.length; i++) {
//随机索引的范围是0-4
int index = r.nextInt(datas.length);
//定义一个临时变量存储index位置的元素
int temp = datas[index];
datas[index] = datas[i];
datas[i] = temp;
}
//4.输出随机排名后的结果
for (int i = 0; i < datas.length; i++) {
System.out.print(datas[i] + "\t");
}
}
}
题目04:数组排序
使用冒泡排序对6,3,9,0进行排序
public class ArrayDemo04 {
public static void main(String[] args) {
//1.定义数组
int[] arr = {6,3,9,0};
//2.冒泡排序:从小到大排序(后一个元素与前一个比较)
//i循环表示该组元素需要比较几轮(冒泡排序:数组长度-1)
for (int i = 0; i < arr.length-1; i++) {
//j循环表示每轮交换次数(冒泡排序:数组长度-对应的轮数)
for (int j = 0; j < arr.length - i - 1; j++) {
//判断j位置的元素值是否比后一个元素值大,大的放后面
if (arr[j] > arr[j+1]){
int tamp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = tamp;
}
}
}
//3.输出冒泡排序后的数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
}