「java二维数组编程题」二维数组 JAVA

博主:adminadmin 2022-12-17 22:12:09 62

今天给各位分享java二维数组编程题的知识,其中也会对二维数组 JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java二维数组编程问题

import java.util.Scanner;public class Array2D {

private int[][] arr;

private Scanner sc = new Scanner(System.in);

public Array2D(int n) {

arr = new int[n][n];

}

public void setData() {

for(int i=0;iarr.length;i++) {

for(int j=0;jarr[i].length;j++) {

System.out.print("请输入第"+(i+1)+"行第"+(j+1)+"列的值:");

arr[i][j] = sc.nextInt();

}

}

}

public int[] getRowMax() {

int[] arr_rmax = new int[arr.length];

for(int i=0;iarr.length;i++) {

int temp = 0;

for(int j=0;jarr[i].length-1;j++) {

for(int k=j+1;karr[i].length;k++) {

temp = arr[i][j];

if(arr[i][j]arr[i][k]) temp = arr[i][k];

}

}

arr_rmax[i] = temp;

}

return arr_rmax;

}

public int[] getColMin() {

int[] arr_cmin = new int[arr[0].length];

for(int i=0;iarr[0].length;i++) {

int temp = 0;

for(int j=0;jarr.length-1;j++) {

for(int k=j+1;karr.length;k++) {

temp = arr[j][i];

if(arr[j][i]arr[k][i]) temp = arr[k][i];

}

}

arr_cmin[i] = temp;

}

return arr_cmin;

}

public int[][] getDLine() {

int[] arr_DL1 = new int[arr.length];

int[] arr_DL2 = new int[arr.length];

for(int i=0;iarr.length;i++) {

arr_DL1[i] = arr[i][i];

arr_DL2[i] = arr[i][arr.length-i-1];

}

int[][] arr_DL = {arr_DL1,arr_DL2};

return arr_DL;

}

public static void main(String args[]) {

Scanner sc = new Scanner(System.in);

System.out.print("请输入方阵的行列值:");

int n = sc.nextInt();

Array2D ar = new Array2D(n);

ar.setData();

for(int i=0;in;i++)

System.out.println("该方阵第"+(i+1)+"行的最大值为:"+ar.getRowMax()[i]);

for(int j=0;jn;j++)

System.out.println("该方阵第"+(j+1)+"列的最小值为:"+ar.getColMin()[j]);

System.out.println("主对角线的元素为:");

for(int k=0;kn;k++) {

System.out.print(ar.getDLine()[0][k]+" ");

if(k==n-1) System.out.println("");

}

System.out.println("次对角线的元素为:");

for(int l=0;ln;l++) {

System.out.print(ar.getDLine()[1][l]+" ");

if(l==n-1) System.out.println("");

}

}

}

Java编程,创建一个二维数组,随机产生 0∼100之间的值,求出最大值及对应下标

需求:Java编程,创建一个二维数组,随机产生 0~100之间的值,求出最大值及对应下标。

分析步骤:

A:创建一个二维数组

int[][] twoArr = new int[8][8];

B: 随机产生0~100之间的值

Random random=new Random();

random.nextInt(100);

C:将随机产生的值赋值给数组元素

运用for循环

D:求出最大值

假设twoArr[0][0]为最大值,遍历数组,两两比较,把值大的赋值给max。同时标记x,y

E:输出最大值,输出x,y(遍历的两个局部变量)值

import java.util.Random;

class TwoArr{

public static void main(String[] args){

int n = 8;//这里也可以改成键盘录入的形式

int[][] twoArr = new int[n][n];//定义二维数组

//将随机产生的值赋值给数组元素

for(int x = 0;xtwoArr.length;x++){

for(int y = 0;ytwoArr[x].length;y++){

Random random=new Random();

twoArr[x][y] = random.nextInt(100);

}

}

//求最大值和索引

int max = twoArr[0][0];

int index1 = 0;

int index2 = 0;

for(int x = 1;xtwoArr.length;x++){

for(int y = 0;ytwoArr[x].length;y++){

if(twoArr[x][y]max){

max = twoArr[x][y];

index1 = x;

index2 = y;

}

}

}

//输出

System.out.println("最大值是:"+max+",其下标为:["+index1+"]"+"["+index2+"]");

}

}

Java二维数组练习题

import java.util.Scanner;

public class ScoreDemo {

static Scanner input = new Scanner(System.in);//扫描器.用于读取控制台的输入

static int[][] cj = new int[10][2];//二维数组,保存学号和成绩

public static void main(String[] args) {

//randomInfo(); //用于测试的时候 直接随即成绩

inPutInfo();//录入学号和成绩

printUnderAvg();//输出平均分以下的学号和成绩

// 选择菜单

while (true) {

System.out.println("输入1:按学号查询,输入2:按成绩查询,3:打印全部信息,4:退出查询");

int choose = Integer.parseInt(input.nextLine());

if (choose == 1) {

searchByNum();

} else if (choose == 2) {

searchByScore();

} else if (choose == 3) {

printAll();

} else if (choose == 4) {

System.out.println("退出!");

System.exit(0);

} else {

System.out.println("错误的输入");

continue;

}

}

}

private static void printUnderAvg() {//输出平均分以下的学号和成绩

int sum = 0;// 计算总分

for (int i = 0; i  cj.length; i++) {

sum += cj[i][1];

}

double pj = sum * 1.0 / cj.length;// 计算平均分

System.out.println("平均分"+pj);

// 输出低于平均分的学号和成绩

System.out.println("-------低于平均分的信息-------");

for (int i = 0; i  cj.length; i++) {

if (cj[i][1]  pj) {

System.out.println("学号:" + cj[i][0] + "\t成绩:" + cj[i][1]);

}

}

System.out.println("-----------END-----------");

}

private static void randomInfo() {//随即产生成绩

for (int i = 0; i  cj.length; i++) {

cj[i][0] = (i + 1);// 学号

cj[i][1] = (int) (Math.random() * 51 + 50);// 随机的成绩 50~100分之间

// cj[i][1] = (int) (Math.random() *101);//随即 0~100分的成绩

}

}

private static void inPutInfo() {//录入学号和成绩

for (int i = 0; i  cj.length; i++) {

System.out.println("请输入第" + (i + 1) + "个学生的信息");

System.out.print("学号:");

cj[i][0] = Integer.parseInt(input.nextLine());

System.out.print("成绩:");

cj[i][1] = Integer.parseInt(input.nextLine());

}

}

private static void printAll() {//打印全部信息

System.out.println("-----成绩信息------");

for (int i = 0; i  cj.length; i++) {

System.out.println("学号:" + cj[i][0] + "\t成绩:" + cj[i][1]);

}

System.out.println("-----信息END------");

}

private static void searchByScore() {//按成绩查询

System.out.print("请输入成绩:");

int score = Integer.parseInt(input.nextLine());

boolean flag = true;

for (int i = 0; i  cj.length; i++) {

if (cj[i][1] == score) {

flag = false;

System.out.println("学号:" + cj[i][0] + "\t成绩:" + cj[i][1]);

}

}

if (flag) {

System.out.println("查无此成绩");

}

}

private static void searchByNum() {//按学号查询

System.out.print("请输入学号:");

int num = Integer.parseInt(input.nextLine());

boolean flag = true;

for (int i = 0; i  cj.length; i++) {

if (cj[i][0] == num) {

flag = false;

System.out.println("学号:" + cj[i][0] + "\t成绩:" + cj[i][1]);

}

}

if (flag) {

System.out.println("查无此学号");

}

}

}

运行测试

平均分70.6

-------低于平均分的信息-------

学号:1 成绩:55

学号:2 成绩:51

学号:5 成绩:68

学号:8 成绩:60

学号:9 成绩:51

-----------END-----------

输入1:按学号查询,输入2:按成绩查询,3:打印全部信息,4:退出查询

1

请输入学号:3

学号:3 成绩:87

输入1:按学号查询,输入2:按成绩查询,3:打印全部信息,4:退出查询

2

请输入成绩:60

学号:8 成绩:60

输入1:按学号查询,输入2:按成绩查询,3:打印全部信息,4:退出查询

4

java高手:java定义二维数组问题

int a[][] = new int[3][2]; 表示定义一个三行二列的二维数组,但是a[0] = {1,6}; 是对一维数组进行赋值,而a是二维数组无法使用一维数组的赋值方法,所以程序会报错。

该代码的正确方法应该是:

int a[][] = new int[3][2];

a[0][0]=1;

a[0][1]=6;

扩展资料

java定义二维数组的方法:

1、动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]

数据类型 [ ][ ]  数组名 = new 数据类型[m][n]

数据类型 [ ]   数组名 [ ] = new 数据类型[m][n]

举例:int [ ][ ]  arr=new  int [5][3];  也可以理解为“5行3例”

2、 静态初始化

数据类型 [ ][ ]   数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};

举例:int [ ][ ]  arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}

参考资料来源:百度百科——二维数组

java题目,有关二维数组的,求大神解答

public class Test09 {

public static void main(String[] args) {

int[][] stu;//声明二维数组

Scanner input = new Scanner(System.in);

System.out.println("请输入班级人数:");

int num = input.nextInt();//输入班级人数

stu = new int[num][2];

for (int i = 0; i num; i++) {//输入每位同学的学号和成绩,都用整型

System.out.println("请输入第" + (i + 1) + "个学生的学号:");

stu[i][0] = input.nextInt();

System.out.println("请输入第" + (i + 1) + "个学生的成绩:");

stu[i][1] = input.nextInt();

}

for (int i = stu.length - 1; i = 0; i--) {//用选择排序算法对数组按成绩进行排序

int indexlow = i;

for (int j = stu.length - 1; j = i + 1; j--) {

if (stu[j][1] stu[indexlow][1]) {

indexlow = j;

}

}

int temp0 = stu[i][0];

stu[i][0] = stu[indexlow][0];

stu[indexlow][0] = temp0;

int temp1 = stu[i][1];

stu[i][1] = stu[indexlow][1];

stu[indexlow][1] = temp1;

}

System.out.println("按成绩进行排序:");

for (int i = 0; i stu.length; i++) {//输出排序后的全班同学的学号和成绩

System.out.print("学号为");

System.out.print(stu[i][0]);

System.out.print("的同学");

System.out.print("成绩为:");

System.out.print(stu[i][1]);

System.out.println();

}

}

}

java小程序题,输出一个二维数组

public class Test { /**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int row=5; //这里控制输出的行列 请保证行列相等,这里就不做判断了

int[][] a=new int[row][row];

a[0][0]=1;

int n=2,zero=0,change=1;

int value=2;

for(int i=1;irow;i++){

for(int j=0;j(2*n-1);j++){

if(i%2!=0){

if(j(2*n-2)/2){

a[zero++][change]=value++;

continue;

}

if(j==(2*n-2)/2){

a[j][j]=value++;

}

if(j(2*n-2)/2){

a[change][--zero]=value++;

}

}else{

if(j(2*n-2)/2){

a[change][zero++]=value++;

continue;

}

if(j==(2*n-2)/2){

a[j][j]=value++;

}

if(j(2*n-2)/2){

a[--zero][change]=value++;

}

}

}

n++;

change++;

zero=0;

}

String out="";

for(int i=0;irow;i++){

for(int j=0;jrow;j++){

out=""+a[i][j];

if(out.length()==1)

out="0"+out;

System.out.print(out+" ");

}

System.out.println();

}

}}

运行测试通过

java二维数组编程题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于二维数组 JAVA、java二维数组编程题的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-17,除非注明,否则均为首码项目网原创文章,转载请注明出处。