① 类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个方法后得到相应的结果并输出。 10. 编程实现:从键盘上输入一个字符串和一个字符,从该字符串中删除给定的字符。例如: 输入字符串:Student 输入需要删除的字符:u 输出为:Stdent
时间: 2024-03-20 16:44:27 浏览: 95
proteus:网络物理系统的过程执行系统
好的,你的第一个问题是关于Java编程的。下面是对你的问题的回答:
① 类ArraysApps的代码如下:
```
public class ArraysApps {
// 返回一维数组中的最小数
public int selMin(int[] arr1) {
int min = arr1[0];
for (int i = 1; i < arr1.length; i++) {
if (arr1[i] < min) {
min = arr1[i];
}
}
return min;
}
// 先对一维数组升序排序,再删除相同元素
public void delete(int[] arr) {
Arrays.sort(arr);
int[] newArr = new int[arr.length];
int index = 0;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] != arr[i + 1]) {
newArr[index++] = arr[i];
}
}
newArr[index++] = arr[arr.length - 1];
for (int i = 0; i < index; i++) {
arr[i] = newArr[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[] newArr = new int[len + 1];
for (int i = 0; i < len; i++) {
newArr[i] = arr[i];
}
newArr[len] = x;
Arrays.sort(newArr);
double sum = 0;
for (int i = 0; i < newArr.length; i++) {
sum += newArr[i];
System.out.print(newArr[i] + " ");
}
System.out.println();
System.out.println("平均值为:" + String.format("%.2f", sum / newArr.length));
}
// 求二维数组每一行的元素之和
public int[] arrSum(int[][] arr2) {
int[] sumArr = new int[arr2.length];
for (int i = 0; i < arr2.length; i++) {
int sum = 0;
for (int j = 0; j < arr2[i].length; j++) {
sum += arr2[i][j];
}
sumArr[i] = sum;
}
return sumArr;
}
}
```
② 主类的代码如下:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 声明一个一维数组并输入元素的值
System.out.print("请输入一维数组的长度:");
int len = scanner.nextInt();
int[] arr1 = new int[len];
System.out.print("请输入一维数组的元素:");
for (int i = 0; i < len; i++) {
arr1[i] = scanner.nextInt();
}
// 声明一个二维数组并输入元素的值
System.out.print("请输入二维数组的行数:");
int row = scanner.nextInt();
System.out.print("请输入二维数组的列数:");
int col = scanner.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] = scanner.nextInt();
}
}
// 调用类ArraysApps的4个方法
ArraysApps arraysApps = new ArraysApps();
System.out.println("一维数组中的最小数为:" + arraysApps.selMin(arr1));
arraysApps.delete(arr1);
System.out.print("删除相同元素后的一维数组为:");
for (int i = 0; i < arr1.length; i++) {
if (arr1[i] != 0) {
System.out.print(arr1[i] + " ");
}
}
System.out.println();
System.out.print("请输入要插入的元素:");
int x = scanner.nextInt();
arraysApps.insert(arr1, len, x);
int[] sumArr = arraysApps.arrSum(arr2);
System.out.print("二维数组每一行的元素之和为:");
for (int i = 0; i < sumArr.length; i++) {
System.out.print(sumArr[i] + " ");
}
System.out.println();
}
}
```
10. 从键盘上输入一个字符串和一个字符,从该字符串中删除给定的字符的代码如下:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.print("请输入需要删除的字符:");
char ch = scanner.next().charAt(0);
String newStr = "";
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) != ch) {
newStr += str.charAt(i);
}
}
System.out.println("删除后的字符串为:" + newStr);
}
}
```
阅读全文