大约 5 分钟
代码题1
定义两个长度为5的int型数组arr1,arr2,要求如下:
a. 提示用户分别录入5个整数存放到arr1和arr2中。
b. 将arr1和arr2中的对应的元素的和,按降序输出到控制台上(不能使用api里的排序方法)。
示例如下:
public class JavaBasic04Task1 {
public static void main(String[] args) {
// 定义两个长度为5的int型数组arr1,arr2
int[] arr1 = new int[5];
int[] arr2 = new int[5];
Scanner scanner = new Scanner(System.in);
// 提示用户分别录入5个整数存放到arr1中
System.out.println("请输入arr1数组的5个整数:");
for (int i = 0; i < arr1.length; i++) {
arr1[i] = scanner.nextInt();
}
// 提示用户分别录入5个整数存放到arr2中
System.out.println("请输入arr2数组的5个整数:");
for (int i = 0; i < arr2.length; i++) {
arr2[i] = scanner.nextInt();
}
// 将arr1和arr2中的对应的元素的和,按降序输出到控制台上
int[] sumArray = new int[5];
for (int i = 0; i < arr1.length; i++) {
sumArray[i] = arr1[i] + arr2[i];
}
// 冒泡排序,按降序排列
for (int i = 0; i < sumArray.length - 1; i++) {
for (int j = 0; j < sumArray.length - i - 1; j++) {
if (sumArray[j] < sumArray[j + 1]) {
// 交换元素
int temp = sumArray[j];
sumArray[j] = sumArray[j + 1];
sumArray[j + 1] = temp;
}
}
}
// 输出结果
System.out.println("降序输出的和数组:");
for (int num : sumArray) {
System.out.print(num + " ");
}
}
}
代码题2
现在main方法中有一个数组int arr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
要求如下:
定义方法,将数组中的0使用1-10之间的随机数替换掉(使用新的随机数替换数组中值为0的元素),并统计替换了多少个。
调用上面定义的方法,替换掉0并统计结果
对操作后的数组使用任意格式进行遍历,查看结果
public class JavaBasic04Task2 {
public static void main(String[] args) {
// 给定的数组
int[] arr = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};
// 替换
Random random = new Random();
int replacedCount = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 0) {
// 使用1-10之间的随机数替换数组中值为0的元素
arr[i] = random.nextInt(10) + 1;
replacedCount++;
}
}
// 输出替换结果
System.out.println("替换了 " + replacedCount + " 个0");
// 遍历操作后的数组
System.out.println("替换后的数组:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
代码题3
定义包含如下元素的数组, 并实现数组的反转. 如下图所示:

输出结果 :
要求:
- 定义一个数组, 元素定义如下 : 12, 23, 34, 45, 56
- 调用一个功能, 该功能可以实现数组的反转. 方法定义如下 : reverse(数组参数) 无返回值.
- 调用一个功能, 该功能可以实现将数组中的元素拼接为字符串返回, 方法定义如下 : arrayToString(数组参数) String类型返回值.
- 数组返回的字符串, 如上图的输出结果即已完成. 提示一 : 数组反转功能中请使用
for 循环
实现. 提示二 : 数组转字符串功能中请使用字符串拼接方法实现.
package com.itheima;
public class JavaBasic04Task3 {
public static void main(String[] args) {
// 定义数组
int[] array = {12, 23, 34, 45, 56};
System.out.println("反转前的数组:");
for (int num : array) {
System.out.print(num + " ");
}
System.out.println("");
// 调用数组反转功能
reverse(array);
// 输出反转后的数组
System.out.println("反转后的数组:");
for (int num : array) {
System.out.print(num + " ");
}
// 调用数组转字符串功能
String result = arrayToString(array);
// 输出数组转字符串的结果
System.out.println("数组转换为字符串的结果:");
System.out.println(result);
}
// 数组反转功能
private static void reverse(int[] array) {
int length = array.length;
for (int i = 0; i < length / 2; i++) {
// 交换元素
int temp = array[i];
array[i] = array[length - i - 1];
array[length - i - 1] = temp;
}
}
// 数组转字符串功能
// 数组转字符串功能
private static String arrayToString(int[] array) {
// 使用String的字符串拼接操作符 +
String result = "";
for (int i = 0; i < array.length; i++) {
// 去掉最后的逗号和空格
if (i == array.length - 1) {
result += array[i];
} else {
result += array[i] + ", ";
}
}
return result;
}
}
代码题4
3.3 【选做题】创建一个长度10的数组,将10个1-20之间的随机数存入数组中,要求数组中的元素不能重复,再创建一个新数组,将原数组中元素为奇数全部在左边,偶数全部在右边。
3.3.1 最终效果

public class JavaBasic04Task4 {
public static void main(String[] args) {
// 创建长度为10的数组,存入10个1-20之间的不重复随机数
int[] originalArray = new int[10];
//定义一个随机数对象,用来获取随机数
Random random = new Random();
// 开启循环,循环10次给数组赋值
for (int i = 0; i < 10; i++) {
//定义一个变量接收随机数
int randomNumber;
//定义一个变量,判断随机数是否重复
boolean isDuplicate;
do {
//默认是不重复的
isDuplicate = false;
//获得随机数
randomNumber = random.nextInt(20) + 1;
// 检查是否重复
for (int j = 0; j < i; j++) {
if (originalArray[j] == randomNumber) {
isDuplicate = true;
// 如果重复了,就结束当前循环
break;
}
}
//直到不重复,isDuplicate=false
} while (isDuplicate);
//将不重复的随机数,放到数组中
originalArray[i] = randomNumber;
}
// Arrays.toString可以用来打印数组,仅仅是一个工具类
System.out.println("原始数组:" + Arrays.toString(originalArray));
// 将原数组中的奇数放在左边,偶数放在右边
int[] modifiedArray = new int[10];
int oddIndex = 0;
int evenIndex = originalArray.length-1;
for (int num : originalArray) {
if (num % 2 == 1) {
//如果是奇数,从左边依次存放
modifiedArray[oddIndex++] = num;
} else {
//如果是偶数,从右边依次存放
modifiedArray[evenIndex--] = num;
}
}
System.out.println("修改后的数组:" + Arrays.toString(modifiedArray));
}
}