2014-02-12 20 views
-2

我該如何編寫toString方法?我怎麼能改變用戶填寫數字的方式?我剛寫了一個n維數組對象的這個類。有什麼方法可以改進它嗎?

下面的代碼:

public class NArray 
{ 
    private int[] intArray; 
    private NArray[] array; 

    public NArray(int n, int size, int fillNum) 
    { 
    if(n==1) 
    { 
     intArray = new int[size]; 

     for(int i=0;i<size;i++) 
     { 
     intArray[i]=fillNum; 
     } 
    } 
    else 
    { 
     array=new NArray[size]; 

     for(int i=0;i<size;i++) 
     { 
     array[i] = new NArray(n-1,size, fillNum); 
     } 
    } 
    } 
} 
+0

考慮使用多態。 – SLaks

+0

對於你需要那個n-dim陣列?低內存消耗,因爲總數最多的是多少?高性能?只有int值或一般對象? – AlexWien

回答

0

用於填充的方法,你可以使用Arrays.fill(見java API javadocs)。

你想要toString()方法做什麼?沒有規範就無法真正回答這個部分。

0

使用toString。一個例子如下所示。請參考和落實.. :)編碼快樂

public class Test{ 

    public static void main(String args[]){ 
     Integer x = 5; 

     System.out.println(x.toString()); 
     System.out.println(Integer.toString(12)); 
    } 
} 

對於一個棘手的使用.. :)

class Bank 
{ 


String n; 
String add; 
int an; 
int bal; 
int dep; 


public Bank(String n,String add,int an,int bal) 
{ 

    this.add=add;this.bal=bal; 
    this.an=an;this.n=n; 

} 

public String toString() 
{ 
    return "Name of the customer.:" + this.n+",, "+"Address of the customer.:" 
          +this.add +",, "+"A/c no..:" 
          +this.an+",, " +"Balance in A/c..:"+this.bal; 
} 
} 
public class Demo2 
{ 


public static void main(String[] args) 
{ 

    List<Bank> l=new LinkedList<Bank>(); 


    Bank b1=new Bank("naseem1","Darbhanga,bihar",123,1000); 
    Bank b2=new Bank("naseem2","patna,bihar",124,1500); 
    Bank b3=new Bank("naseem3","madhubani,bihar",125,1600); 
    Bank b4=new Bank("naseem4","samastipur,bihar",126,1700); 
    Bank b5=new Bank("naseem5","muzafferpur,bihar",127,1800); 
    l.add(b1); 
    l.add(b2); 
    l.add(b3); 
    l.add(b4); 
    l.add(b5); 
    Iterator<Bank> i=l.iterator(); 
    while(i.hasNext()) 
    { 
     System.out.println(i.next()); 
    } 
} 

} 
相關問題