Java 程序编写 数组
定义一个4x5的矩阵数组,并输入数组元素值,分别找出其中的最大值及最小值元素,输出其值及所在的行号和列号。...
定义一个4x5的矩阵数组,并输入数组元素值,分别找出其中的最大值及最小值元素,输出其值及所在的行号和列号。
展开
4个回答
展开全部
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int rows, cols; // 行数与列数
System.out.print("Enter number of rows and columns"
+ " for the matrix: ");
rows = stdIn.nextInt();
cols = stdIn.nextInt();
int[][] arrA = new int[rows][cols];
arrA = readArray(stdIn, rows, cols);
System.out.println("the matrix:");
printArray(arrA);
getMax(arrA);
getMin(arrA);
}
/*******************************************************/
/* 读入矩阵数据 */
public static int[][] readArray(Scanner scan,
int numRows, int numCols) {
int[][] arr = new int[numRows][numCols];
System.out.println("Enter values for " + numRows + "x" + numCols + " matrix:");
for (int row = 0; row < arr.length; row++) {
for (int col = 0; col < arr[0].length; col++) {
arr[row][col] = scan.nextInt();
}
}
return arr;
}
/*******************************************************/
/* 打印矩阵 */
public static void printArray(int[][] arr) {
for (int row=0; row<arr.length; row++) {
for (int col=0; col<arr[0].length; col++) {
System.out.printf("%5d", arr[row][col]);
}
System.out.println();
}
}
public static void getMax(int[][] arr) {
int max = arr[0][0];
for (int row=0; row<arr.length; row++) {
for (int col=0; col<arr[0].length; col++) {
if(arr[row][col]>max){
max = arr[row][col];
}
}
}
System.out.println("最大值为:"+max);
for (int row=0; row<arr.length; row++) {
for (int col=0; col<arr[0].length; col++) {
if(arr[row][col]==max)
System.out.println("最大值坐标为:("+(row+1)+","+(col+1)+")");
}
}
}
public static void getMin(int[][] arr) {
int min = arr[0][0];
for (int row=0; row<arr.length; row++) {
for (int col=0; col<arr[0].length; col++) {
if(arr[row][col]<min){
min = arr[row][col];
}
}
}
System.out.println("最小值为:"+min);
for (int row=0; row<arr.length; row++) {
for (int col=0; col<arr[0].length; col++) {
if(arr[row][col]==min)
System.out.println("最小值坐标为:("+(row+1)+","+(col+1)+")");
}
}
}
}
展开全部
int[][] v = new int[4][5];
for(int i=0;i<v.length;i++){
// 在这里做最大值及最小值查询
// 列号 i
getMaxValue(v[i]); // 行号及最大值
getMinValue(v[i]); // 行号及最小值
}
参考网页:
How can I locate and print the index of a max value in an array?
http://stackoverflow.com/questions/8991103/how-can-i-locate-and-print-the-index-of-a-max-value-in-an-array
for(int i=0;i<v.length;i++){
// 在这里做最大值及最小值查询
// 列号 i
getMaxValue(v[i]); // 行号及最大值
getMinValue(v[i]); // 行号及最小值
}
参考网页:
How can I locate and print the index of a max value in an array?
http://stackoverflow.com/questions/8991103/how-can-i-locate-and-print-the-index-of-a-max-value-in-an-array
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组是Java中的一中数据存储方法,它可以把多个对象放在一起,避免了声明的麻烦。
常见的数组声明方法:
int[] a=new int[10];//a为数组的名称。10为数组的大小。
int[] a={1,1,1,1,1};//a为数组的名称。大括号中的数字为数组中的内容,数组的大小由内容的个数决定,用","隔开。
int[] a=new int[]{1,1,1,1,1}; //a为数组的名称。大括号中的数字为数组中的内容,数组的大小由内容的个数决定,用","隔开。
注意:
数组的大小一旦确定,就不能修改。
如果设置的大小为5,则只能访问0~4角标(包括0和4),如果超出此范围,就会出现ArrayIndexOutOfBoundException错误。
指定类型的数组中不能存放其他类型的数据,如int类型的数组不能存储String类型的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是要实现这个数据结构么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询