2013-10-18 66 views
-4

我有一個存儲視頻的類類型數組(不是真正的只是對象)。 每個視頻都有一個標題和一個作者。 該視頻具有其數據集使用集的方法,如下列:從java數組中打印特定元素的數據

public class Clip { 

private String title; 
private String author; 

    public void setTitle (String s1) { 

     title = s1; 

    } 

    public void setAuthor (String s2) { 

     title = s2; 

    } 

我然後具有創建陣列和使用這些設置方法來輸入數據的不同的類。 程序然後要求用戶從數組中選擇一個元素,例如用戶 選擇元素[3]。現在程序必須打印該元素的標題和作者(視頻)。

這是我不知道該怎麼做的部分? 我可以請你幫忙嗎?

+0

您正在制定者創造新的字符串。請不要這樣做。那應該是'this.title = s1;' –

+0

有什麼問題?搜索覆蓋'toString()'。 –

+0

你能舉個例子嗎? – user2877543

回答

1

你實現剪輯類是錯誤的。它應該是這樣的:

public class Clip { 
     private String title; 
     private String author; 

     public Clip(String title, String author) { 
      this.title = title; 
      this.author = author; 
     } 

     public String getTitle() { 
      return title; 
     } 

     public void setTitle(String title) { 
      this.title = title; 
     } 

     public String getAuthor() { 
      return author; 
     } 

     public void setAuthor(String author) { 
      this.author = author; 
     } 
    } 

而且你可以從陣列這樣的檢索您的對象:

@Test 
    public void testClipArray() throws Exception { 
     // Lets assume our array contains 2 elements 
     Clip[] clipArray = new Clip[2]; 
     clipArray[0] = new Clip("First", "Clip"); 
     clipArray[1] = new Clip("Second", "Clip"); 

     // Lets retrieve 2nd object (with index: 1) 
     Clip secondObject = clipArray[1]; 

     System.out.println(secondObject.getAuthor()); 
     System.out.println(secondObject.getTitle()); 
    } 
2

覆蓋的toString(),那麼只需撥打

System.out.println(element[3]) 

如果你需要幫助創建toString方法Eclipse可以告訴你它是如何做。

按Alt + Shift + S則S,或者右鍵 - >來源 - >生成的toString()

+0

是啊,那是什麼[我思想](http://stackoverflow.com/a/19447072/2187042),似乎並沒有回答OP的問題 –

0

基本上,你有兩個選擇:

  1. 創建的視頻類,如干將public String getTitle() { return title; }
  2. 重寫toString函數以輸出所需的值,例如,

    @覆蓋 公共字符串的ToString(){ 回報 「作者:」 +作者+」,標題: 「+標題」;} ,剪輯

0
public class Clip { 

private String title; 
private String author; 

public void setTitle (String s1) { 

    title = s1; 

} 

public void setAuthor (String s2) { 

    author = s2; 

} 

@Override 
public String toString(){ 
    return author + ": " + title; 
} 
0

覆蓋toString方法每個打印*的調用(例如的println)方法將調用對象的toString方法重寫方法後

@Override 
    public String toString() { 
     return "[Title: " + this.title +", Author: " + this.author + "]"; 
    } 

例:

Clip clip1 = new Clip(); 
    Clip clip2 = new Clip(); 
    Clip[] clipArray = {clip1, clip2}; 

    for (Clip clip : clipArray) { 
     System.out.println(clip); 
    } 
0

請重寫剪輯類的toString(),如下

@Override 
public String toString() { 
    return "Title:"+ this.s1 + " Author:" + this.s2; 
} 


Then print the Title and Author by using the below code. 
System.out.println(objectClip.toString()); 
0

覆蓋的toString()剪輯類方法如下,

@override 
    public String toString(){ 

    return "Title: "+ title +" ,author"+author; 

    } 

和調用代碼調用以下語句,

System.out.println(element[3]); 
0

覆蓋Clip類的toString()方法。例如,

public class Clip { 

    private String title; 
    private String author; 

    public void setTitle (String s1) { 
     title = s1; 
    } 

    public void setAuthor (String s2) { 
     title = s2; 
    } 

    @Override 
    public String toString() { 
     return title + " by " + author; 
    } 
} 

然後打印剪輯的排列如下:

for (Clip aClip : arrayOfClips) { 
    System.out.println(aClip); 
}