实验3 方法和数组1

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.*;

相关文档
最新文档