java新手问题 2维数组的输入

这是网上的
import java.util.Scanner;

public class Aaa {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in) ;
System.out.print("请输入矩阵的行高:");
int a = sc.nextInt() ;
System.out.print("请输入矩阵的列宽:");
int b = sc.nextInt() ;
int[][] x = new int[a][b] ;

for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
System.out.print("请输入元素x["+i+"]["+j+"]的值:" );
x[i][j] = sc.nextInt() ;
}
}
print(x) ;
}

public static void print(int[][] x){
System.out.println("您输入的矩阵为:");
for(int i=0;i<x.length;i++){
for(int j=0;j<x[i].length;j++){
System.out.print(x[i][j] + " ") ;
}
System.out.println();
}
}
}
这是自己改写的
import java.util.Scanner;
public class C{
public static void main(String args[]){
Scannner in = new Scanner(System.in);
System.out.print("请输入二维数组x的行数:");
int a = in.nextInt();
System.out.print("请输入二维数组x的列数:");
int b = in.nextInt();
int[][]x = new int [a][b];

for(int i=0;i<a;i++){
{for(int j=0;j<b;j++){
System.out.print("请输入元素x["+i+"]["+j+"]的值:");
x[i][j] = in.nextInt();

}
}

print(x);
}

public static void print(int[][] x){
System.out.println("您输入的数组为:");
for(int i=0;i<x.length;i++){
for(int j=0;j<x[i];j++){
System.out.print(x[i][j]+" ");
}
System.out.println();
}
}
}

期中("请输入元素x["+i+"]["+j+"]的值:" )“+i+”是意思
和最后显示输出的语句
public static void print(int[][] x) 为什么要重新搭建框架

import java.util.Scanner;
public class C{
public static void main(String args[]){
Scanner in = new Scanner(System.in);//Scanner
System.out.print("请输入二维数组x的行数:");
int a = in.nextInt();
System.out.print("请输入二维数组x的列数:");
int b = in.nextInt();
int[][]x = new int [a][b];

for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
System.out.print("请输入元素x["+i+"]["+j+"]的值:");//括号要英文字符
x[i][j] = in.nextInt();
}
}
print(x);
}

public static void print(int[][] x){
System.out.println("您输入的数组为:");
for(int i=0;i<x.length;i++){
for(int j=0;j<x[i].length;j++){//少了.length
System.out.print(x[i][j]+" ");
}
System.out.println();
}
}
}

追问

为什么要写["+i+"]["+j+"] 不能直接[i][j]
public static void print(int[][] x) 这句是什么意思呢
为什么要有这句而不能直接输出数组?

追答

"x["+i+"]["+j+"]这样子写就把[和]当做字符输出(输出结果:x[i][j]),如果是x[i][j]就会直接输出 数组中存储的数字(输出结果:数字);

public static void print(int[][] x)就表示定义了一个方法,static表示该方法为静态的,print为方法名可以自己随意取,该方法带一个类型为整数型二维数组的参数x,void表示方法没有返回值,public表示权限;
可以直接输出数组,但是一般为了读起来方便和布局整洁,可以将一些常用的代码封装成方法,下次需要用到一样的代码时就可以直接调用该方法而不需要重新敲一遍了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-07
在那条语句里,+是表示字符串连接,不是数据运算符号,比如"ab" + "cd" = "abcd", 都是字符串类型。
你说的重新搭建框架是什么意思?是重新写输出函数吗?追问

为什么要写["+i+"]["+j+"] 不能直接[i][j]
public static void print(int[][] x) 这句是什么意思呢
为什么要有这句而不能直接输出数组?

相似回答
大家正在搜