Topic: public int[][] init(int n){}能不能返回数组的句柄?

  Print this page

1.public int[][] init(int n){}能不能返回数组的句柄? Copy to clipboard
Posted by: 234aini
Posted on: 2004-11-13 01:27

我想用这个来做一个二为数组的初始化,
请问要怎么返回句柄?

2.Re:public int[][] init(int n){}能不能返回数组的句柄? [Re: 234aini] Copy to clipboard
Posted by: Lawme
Posted on: 2004-11-13 07:37


class Array{
public static void main(String[] args){
int[][] a = t();
for(int x = 0; x < 3; x++ )
System.out.println(a[x][0]+" "+a[x][1]+" "+a[x][2]+" ");
}

public static int[][] t(){
int[][] a={{1,2,3},{4,5,6},{7,8,9}};
return a;
}
}

3.Re:public int[][] init(int n){}能不能返回数组的句柄? [Re: 234aini] Copy to clipboard
Posted by: 234aini
Posted on: 2004-11-13 12:56

public static int[][] t()
我上次在做的时候也是直接这样用的,
却在后来调用的时候
没有应int[][] t来调用。
想来真是郁闷
谢谢了。。。

4.Re:public int[][] init(int n){}能不能返回数组的句柄? [Re: 234aini] Copy to clipboard
Posted by: 234aini
Posted on: 2004-11-13 14:13


class Array
{
public static void main(String[] args)
{
int argc=args.length;
if(argc!=1){System.out.println("Sytnax Error");return;}
int n=new Integer(args[0]).intValue();
if(n>9){
System.out.println("This may run,but this will made the array FEATURE no rule !");
}

int[][] a = t(n);

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

System.out.print(" "+a[j][i]);
if(i==(2*n-2))
System.out.println("\n");
}
}

public static int[][] t(int n)//初始化一个n行2n-1列的数组
{
int m=n;
int[][] a=new int[n][2*n-1];
for(int i=0;i<n;i++)
a[n-1][i]=i+1;

for(int i=n;i<2*n-1;i++)
a[n-1][i]=--m;

for(int j=0;j<n-1;j++)
for(int i=0;i<2*n-1;i++)
{
a[j][i]=a[n-1][i]-(n-j-1);
if(a[j][i]<0) a[j][i]=0;
}
return a;
}

}

已经可以打印了,效果还不错。。。。。
不多又多了一个问题,怎么样让那些零都不打印,但是可以同样达到那样金字塔的效果呢?想应该有好多种方法的。。。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923