printing data of specific element from array in java [duplicate]

最后都变了- 提交于 2020-01-17 18:02:26

问题


I have an array of a class type which stores videos (not real ones just objects). Each video has a title and an author. The videos have their data set using set methods like these:

 public class Clip {

 private String title;
 private String author;

     public void setTitle (String s1) {

        title = s1;

    }

     public void setAuthor (String s2) {

        title = s2;

    }

I then have a different class which creates the array and uses these set methods to enter data. The program then asks the user to select an element from the array, for example the user selects element [3]. Now the program must print the title and author of that element(video).

This is the part I am not sure how to do? Can I please have some help?


回答1:


Your implementation of Clip class is wrong. It should be something like this:

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;
        }
    }

And you can retrieve your objects from array like this:

@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:


Override toString() then simply call

System.out.println(element[3])

If you need help creating the toString method eclipse can show you how it's done.

Press Alt+Shift+S then S , or right click -> Source -> generate toString()




回答3:


Basically you have two options:

  1. Create getters in the Video-Class, e.g.public String getTitle() { return title; }
  2. Override the toString function to output the value you want, e.g.

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




回答4:


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;
}



回答5:


Override toString method of Clip. Every invocation of print* (e.g. println) method would call toString method of an object.

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

Example after overriding method:

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

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



回答6:


Please override toString () of Clip class as below

@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());



回答7:


Override toString() method of Clip class. For example,

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;
    }
}

Then print the array of clips as follows:

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



回答8:


Override toString() method in Clip class as follows,

 @override
   public String toString(){ 

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

   }

and invocation code invoke following statement,

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


来源:https://stackoverflow.com/questions/19447672/printing-data-of-specific-element-from-array-in-java

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!