十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
for (int j = 0; j x; j++) {
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网站空间、营销软件、网站建设、屏南网站维护、网站推广。
System.out.print(matrix[i][j] + " ");
//这里用System.out.print()
//System.out.println()输出玩内容后会换行
}
所谓的二维数组其实是数组的数组(每个一维数组的长度可以不同,所以二维数组也称为锯齿数组)。假设有:
int[][] arr={new int [1] {1},new int [2] {2,3},new int [3] {4,5,6}};
则二维数组arr.length等于3,表示它由3个一维数组组成,即3行。
arr[0].length表示第1个一维数组的长度1,即1列。
arr[1].length表示第2个一维数组的长度2,即2列。
arr[2].length表示第3个一维数组的长度3,即3列。
所以,这个二维数组看起来像这个样子:
1
2,3
4,5,6
它每一行的长度都不同。
对于你的二维数组,score.length表示行数4,即二维数组由4个一维数组组成。
而score[i].length、score[j].length表示第i+1行、第j+1行的列数,由于score是列数等长的二维数组,它们都等于3。score.length与score[i].length和score[j].length,3者表示不同的含义,不可混用(尽管它们的值可能相同)。
import java.util.Arrays;
public class AAA
{
public static void main(String[] args)
{
int[][] a = {{1,2,9,10,25},
{4,3,8,11,24},
{5,6,7,12,23},
{16,15,14,13,22},
{17,18,19,20,21}
};
//两种遍历方法
//第一种
/*for(int i=0;ia.length;i++){
int[] b =a[i];
for (int j=0;jb.length;j++ ){
System.out.print(b[j]+" ");
}
System.out.println();
}*/
//第二种
for(int i = 0;i a.length;i++){
String s = Arrays.toString(a[i]);
System.out.println(s);
}
}
}
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();
}
}}
运行测试通过