实验3 方法和数组1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山西大学计算机与信息技术学院
list[currentMinIndex] = list[i];
list[i] = currentMin;
}
}
}
}
//插入排序
public class InsertionSort {
public static void main(String[] args) {
int[] array = { 7, 4, 3, 9, 0, 6 };
System.out.println("采用插入排序后的数组为:");
insertionSort(array);
for (int i = 0; i < array.length; i++) {
System.out.printf("%2d", array[i]);
}
}
// insert list[i] into a sorted sublist list[0...i-1]
public static void insertionSort(int[] list) {
for (int i = 1; i < list.length; i++) {
int currentElement = list[i];
int k;
for (k = i - 1; k >= 0 && list[k] > currentElement; k--) { list[k + 1] = list[k];
}
list[k + 1] = currentElement;
}
}
}
运行结果贴图:
(2)编写程序实现两个矩阵的相加、相乘。
要求程序运行结果形如如下显示:
Array c
1 2 3
4 5 6
7 8 9
Array d
2 2 2
1 1 1
3 3 3
Array c+d
3 4 5
5 6 7
10 11 12
Array c*d
12 12 12
21 21 21
30 30 30
程序代码:
public class ArrayOfMultiplyAndAdd {
public static void main(String[] args) {
int[][] cArray={{1,2,3},{4,5,6},{7,8,9}};
int[][] dArray={{2,2,2},{1,1,1},{3,3,3}};
System.out.println("Array c");
for(int i=0;i for(int j=0;j System.out.printf("%-3d",cArray[i][j]); } System.out.println(); } System.out.println("Array d"); for(int i=0;i for(int j=0;j System.out.printf("%-3d",dArray[i][j]); } System.out.println(); } System.out.println("Array c+d"); int sum1; for(int i=0;i for(int j=0;j sum1=cArray[i][j]+dArray[i][j]; System.out.printf("%-3d",sum1); } System.out.println(); } System.out.println("Array c*d"); int sum2; for(int i=0;i for(int j=0;j sum2=cArray[i][j]*dArray[i][j]; System.out.printf("%-3d",sum2); } System.out.println(); } } } 运行结果贴图: (3)将用“;”和“,”分割的包含数字字符的字符串“23,21.3,33;34,2,1.9,2.1;3,3,1,3,4,4.9”中的数据解析出来放在一个double类型的二维数组中,以分号分割二维数组的每一行,以逗号分割每行 中的各个元素。(利用String 的split方法) 程序代码: public class SplitString { public static void main(String[] args) { String s = "23,21.3,33;34,2,1.9,2.1;3,3,1,3,4,4.9"; System.out.println("数组" + s + "\n去掉,和;后解析在二维数组中的形式如下:"); String[] Array = s.split(";"); double[][] iArray; iArray = new double[Array.length][]; for (int i = 0; i < Array.length; i++) { String[] temp = Array[i].split(","); iArray[i] = new double[temp.length]; for (int j = 0; j < temp.length; j++) { iArray[i][j] = Double.parseDouble(temp[j]); } } for (int i = 0; i < iArray.length; i++) { for (int j = 0; j < iArray[i].length; j++) { System.out.printf("%-5.1f", iArray[i][j]); } System.out.println(); } } } 运行结果贴图: (4)查看帮助、编写例子 利用System类中的arraycopy()方法复制数组。 分别用Arrays类中的sort方法和binarySearch方法实现数组的排序和折半查找。 程序代码: import java.util.*;