1. 定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值
public class Work01 {
public static void main(String[] args) {
int[] arr = {65,45,85,78,69};
int min = arr[0];
for (int i :arr) {
if (i <= min) {
min = i;
}
}
System.out.println(min);
}
}
2. 创建一个长度为6的整数数组。请编写代码,随机生成六个0(包含)-100(不包含)之间的整数存放到数组中,然后计算出数组中所有元素的和并打印。
import java.util.Arrays;
import java.util.Random;
public class Work02 {
public static void main(String[] args) {
Random ran = new Random();
int[] list = new int[6];
int sum = 0;
for (int i = 0;i < list.length; i++) {
list[i] = ran.nextInt(100);
sum += list[i];
}
System.out.println(sum);
System.out.println(Arrays.toString(list));
}
}
3. 需求:求出数组中索引与索引对应的元素都是奇数的元素
import java.util.Arrays;
import java.util.Random;
public class Work03 {
public static void main(String[] args) {
Random ran = new Random();
int[] arr = new int[8];
for (int i = 0; i < arr.length; i++) {
arr[i] = ran.nextInt(100);
if (i % 2 != 0 & arr[i] % 2 != 0) {
System.out.println(arr[i]);
}
}
System.out.println(Arrays.toString(arr));
}
}
4. 按要求在main方法中完成以下功能:
- a. 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字作为数组元素
- b. 生成2-10(范围包含2和10)之间的随机数num
- c. 遍历数组arr,筛选出数组中不是num倍数的元素并输
- PS:输入的数组元素范围包括1和60,不需要代码判断
import java.util.Random;
import java.util.Scanner;
public class Work04 {
public static void main(String[] args) {
int[] arr = new int[5];
Random ran = new Random();
int num = ran.nextInt(9) + 2;
Scanner input = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.printf("请输入第%d个数据(1~60)\n",i+1);
arr[i] = input.nextInt();
}
for (int i: arr) {
if (i % num != 0) {
System.out.println(i);
}
}
}
}
5 .有一个数组int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};要求打印数组中能被6整除的元素。
public class Work05 {
public static void main(String[] args) {
int[] arr = {9,1,3,4,54,56,23,22,20,43,45,78};
for (int i: arr) {
if (i % 6 == 0) {
System.out.println(i);
}
}
}
}
6. 定义一个长度为20的数组,元素为20-40的随机数,要求判断指定元素在数组中出现的次数,指定元素为键盘录入范围为20-40之间。
import java.util.Random;
import java.util.Scanner;
public class Work06 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random ran = new Random();
int sum = 0;
System.out.println("请输入一个20~40之内的值");
int num = input.nextInt();
int[] arr = new int[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = ran.nextInt(20)+20;
if (arr[i] == num) {
sum += 1;
}
}
System.out.println(sum);
}
}
7. 现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置,依次表示整数的个位、十位、百位。。。依次类推。请编写程序计算,这个数组所表示的整数值。例如:
数组:{2, 1, 3, 5, 4}
表示的整数为:21354
public class Work07 {
public static void main(String[] args) {
int[] arr = {2, 1, 3, 5, 4};
int sum = 0;
for (int i: arr) {
sum = sum * 10 + i;
}
System.out.println(sum);
}
}
8. 定义一个数组其中包含多个数字。用自己的方式最终实现,奇数放在数组的左边,偶数放在数组的右边。(可以创建其他数组,不必须在原数组中改变)
import java.util.Arrays;
public class Work08 {
public static void main(String[] args) {
int[] arr = {46, 28, 69, 39, 4, 23};
int[] arr1 = new int[6];
int num = 0;
int num2 = 5;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 != 0) {
arr1[num] = arr[i];
num++;
} else {
arr1[num2] = arr[i];
num2--;
}
}
System.out.println(Arrays.toString(arr1));
}
}
9. 在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。
import java.util.Arrays;
import java.util.Random;
public class Work09 {
public static void main(String[] args) {
Random ran = new Random();
int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) {
arr[i] = ran.nextInt(101);
}
int sum = 0;
for (int i:arr) {
if (i != Arrays.stream(arr).max().getAsInt() & i != Arrays.stream(arr).min().getAsInt()) {
sum += i;
}
}
double avg = (double) sum / 4;
System.out.println(avg);
}
}
10. 现有一个int 数组,数组中有十个元素。将数组反转后输出。
import java.util.Arrays;
public class Work10 {
public static void main(String[] args) {
int[] arr = {0,1,2,3,4,5,6,7,8,9};
for (int i = 0; i < arr.length / 2; i++) {
arr[i] = arr[i] ^ arr[arr.length-i-1];
arr[arr.length-i-1] = arr[i] ^ arr[arr.length-i-1];
arr[i] = arr[i] ^ arr[arr.length-i-1];
}
System.out.println(Arrays.toString(arr));
}
}