java编程① 类ArraysApps,用于数组操作,包含下面4个方法: ★ int selMin(int[] arr1); //返回一维数组中的最小数 ★ void delete(int[] arr); //先对一维数组升序排序,再删除相同元素 ★ void insert(int[] arr,int le,int x); //先对一维数组arr(数组长度为len)升序排序,再插入元素x,并输出插入元素后的数组结果,以及所有元素的平均值(保留两位小数) ★ int[] arrSum(int[][] arr2); //求二维数组每一行的元素之和 ② 主类,用于声明一个一维数组、二维数组,并输入两个数组的元素的值,然后调用类ArraysApps的4个方法后得到相应的结果并输出
时间: 2024-03-20 09:44:42 浏览: 101
好的,以下是类ArraysApps和主类的示例代码实现:
```
//类ArraysApps
public class ArraysApps {
//返回一维数组中的最小数
public int selMin(int[] arr) {
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
//先对一维数组升序排序,再删除相同元素
public void delete(int[] arr) {
Arrays.sort(arr);
int[] temp = new int[arr.length];
int index = 0;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] != arr[i+1]) {
temp[index++] = arr[i];
}
}
temp[index++] = arr[arr.length-1];
for (int i = 0; i < index; i++) {
arr[i] = temp[i];
}
for (int i = index; i < arr.length; i++) {
arr[i] = 0;
}
}
//先对一维数组arr(数组长度为len)升序排序,再插入元素x,并输出插入元素后的数组结果,以及所有元素的平均值(保留两位小数)
public void insert(int[] arr, int len, int x) {
int[] temp = new int[len+1];
for (int i = 0; i < len; i++) {
temp[i] = arr[i];
}
temp[len] = x;
Arrays.sort(temp);
double sum = 0.0;
for (int i = 0; i < temp.length; i++) {
sum += temp[i];
}
double avg = sum / temp.length;
System.out.print("插入元素后的数组为:");
for (int i = 0; i < temp.length; i++) {
System.out.print(temp[i] + " ");
}
System.out.printf("\n所有元素的平均值为:%.2f", avg);
}
//求二维数组每一行的元素之和
public int[] arrSum(int[][] arr) {
int[] sumArr = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
int sum = 0;
for (int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
}
sumArr[i] = sum;
}
return sumArr;
}
}
//主类
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//声明一个一维数组并输入元素的值
System.out.print("请输入一维数组的长度:");
int len = input.nextInt();
int[] arr1 = new int[len];
System.out.print("请输入一维数组的元素值:");
for (int i = 0; i < len; i++) {
arr1[i] = input.nextInt();
}
//声明一个二维数组并输入元素的值
System.out.print("请输入二维数组的行数:");
int row = input.nextInt();
System.out.print("请输入二维数组的列数:");
int col = input.nextInt();
int[][] arr2 = new int[row][col];
System.out.print("请输入二维数组的元素值:");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
arr2[i][j] = input.nextInt();
}
}
//调用类ArraysApps的4个方法并输出结果
ArraysApps aa = new ArraysApps();
System.out.println("一维数组中的最小数为:" + aa.selMin(arr1));
aa.delete(arr1);
System.out.print("删除相同元素后的一维数组为:");
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i] + " ");
}
System.out.println();
System.out.print("请输入要插入的元素:");
int x = input.nextInt();
aa.insert(arr1, len, x);
System.out.println();
int[] sumArr = aa.arrSum(arr2);
System.out.println("二维数组每一行的元素之和为:");
for (int i = 0; i < sumArr.length; i++) {
System.out.println("第" + (i+1) + "行:" + sumArr[i]);
}
}
}
```
你可以将这段代码复制到Java环境中进行测试,希望能对你有所帮助。
阅读全文