一维数组:
实现数组的输入类
package day19.input_arrays.test;
import java.util.Scanner;
public class Input_Arrays {
Scanner input=new Scanner(System.in);
public void input() {
System.out.println("请输入数组长度:");
int length=input.nextInt();
int Arr[]=new int[length];
double aver_arr=0;
for(int i=0;i<Arr.length;i++) {
System.out.print("请输入数组的第"+i+"个值:");
Arr[i]=input.nextInt();
aver_arr+=Arr[i];
}
for(int i=0;i<Arr.length;i++) {
System.out.print("输入的数组第"+i+"个数为:"+Arr[i]+"\t");
}
aver_arr/=(double)length;
System.out.println("\n"+"数组中的数的平均值为:"+aver_arr);
}
}
主函数调用实现类
package day19.input_arrays.test;
public class Test {
public static void main(String[] args) {
Input_Arrays arr=new Input_Arrays();
arr.input();
}
}
二维数组:
package day20.arrytwo.test;
import java.util.Scanner;
public class ArrayTwo {
Scanner input=new Scanner(System.in);
public void input() {
//行:row;列:col
System.out.println("请输入二维数组的行数:");
int row=input.nextInt();
System.out.println("请输入二维数组的列数:");
int col=input.nextInt();
int[][] arrtwo=new int[row][col];
int maxnums=0;
int max_row=0;
int max_col=0;
int maxnums1=0;
int max_row1=0;
int max_col1=0;
for(int i=0;i<row;i++) {
System.out.println("请输入数组的第"+(i+1)+"行");
for(int j=0;j<col;j++) {
try {
arrtwo[i][j]=input.nextInt();// 将用户输入的值存入数组对应位置
if(arrtwo[i][j]>maxnums) {
maxnums=arrtwo[i][j];// 更新最大值
max_row=i;//更新最大值的行
max_col=j;//更新最大值的列
}
} catch (Exception e) {
System.out.println("输入的不是数字,请重新输入!");
input.nextLine(); // 清除输入缓冲区中的换行符,避免影响后续输入
}
}
System.out.println("第"+(i+1)+"行输入完毕");
}
//以矩阵方式输出数组
System.out.println("输入的数组为:");
for(int i=0;i<arrtwo.length;i++) {
System.out.println();
for(int j=0;j<arrtwo[i].length;j++) {
System.out.print(arrtwo[i][j]+"\t");
if(arrtwo[i][j]>maxnums1) {
maxnums1=arrtwo[i][j];// 更新最大值
max_row1=i;//更新最大值的行
max_col1=j;//更新最大值的列
}
}
}
System.out.println("\n\n"+"二维数组中最大的值为:"+maxnums+"(给数组赋值时记录的最大值)");
System.out.println("最大值在第"+(max_row+1)+"行"+"第"+(max_col+1)+"列"+"(给数组赋值时记录的位置)");
System.out.println("\n"+"二维数组中最大的值为:"+maxnums1+"(得到数组后再输出记录的最大值)");
System.out.println("最大值在第"+(max_row1+1)+"行"+"第"+(max_col1+1)+"列"+"(得到数组后再输出记录的位置)");
}
}
主函数调用实现类
package day20.arrytwo.test;
//手动输入一个二维数组,且求出二维数组中值的最大数,此值所在的行和列
public class Test {
public static void main(String[] args) {
ArrayTwo arrt=new ArrayTwo();
arrt.input();
}
}