java的m行n列的二文数组各元素中找出最大元和最小元
编写一个在具有m行n列的二文数组各元素中找出最大元和最小元并显示在屏幕上的函数模板,并通过主函数对它进行调用以验证其正确性。例如,可设计该函数模板的原型为:
template <class Type> void maxMin (Type *A, int m, int n );
其中二文数组A的元素类型为Type,数组A具有m行n列。
注意:函数模板maxMin中要处理二文数组A的m行n列的诸元素,但设计第一参数传递过来的是Type*类型的首元素指针,所以具体处理时可以按照如下的“一文数组”方式来进行(共处理m乘以n个数据 -- 也即二文数组A的m行n列的诸元素。注意,二文数组的诸元素在内存中是按行连续存放的,所以才能够这样来进行处理)。
for (int i=0; i<m; i++)
for(int j=0; j<n; j++) {
对A[i*m+j]进行处理;
按“一文数组”来对待处理A中第i行第j列的数据
}
9.2概要设计:
本程设计思路: 因为java是没有模块的功能,所以就用类来代替了。出错的处理则是交给java中的try,catch语句。
程序流程图(如左图):
9.3 详细设计与编码:
见上传程序。
9.4 调试分析:
在显示数字内容的时候调试了一段时间。用到两层的循环来实现。
程序执行的结果:
错误检测;
9.5 用户使用说明:
用户根据程序的提示输入矩阵的内容,程序会把计算出的结果输出。如果有错误的话,程序会提出警示。
9.6 设计心得:
虽然实现起来还是有点小小的麻烦的,类的实现上是没有什么大的问题,就是那几样的办法。再显示的时候倒是小费了一 些时间。 不过写出来后也就发现其实也就是那样的,1837import java.util.Scanner;
public class MaxMin{
static Scanner input=new Scanner(System.in);
private static int[][] Data;
public static void main(String[] args){
try{System.out.print("输入行大小:");
int m=input.nextInt();
System.out.print("输入列大小:");
int n=input.nextInt();
System.out.println("依次输入数组元素:");
MaxMin mm=new MaxMin(m,n);
mm.setData(m,n );
System.out.println("数组为:");
System.out.print(mm.toString());
System.out.println("最大的元素:"+mm.getMax(m, n));
System.out.println("最小元素:"+mm.getMin(m, n));
}catch(Exception e){
System.out.println("输入出错!");1837