Question: 1.21 LAB: Artwork label (classes/constructors) Given main(), define the Artist class (in file Artist.java) with constructors to initialize an artist's information, get methods, and a

1.21 LAB: Artwork label (classes/constructors)

Given main(), define the Artist class (in file Artist.java) with constructors to initialize an artist's information, get methods, and a printInfo() method. The default constructor should initialize the artist's name to "None" and the years of birth and death to 0. If -1 is read in as the year of death, the artist is still living and output should read Artist Name, born XXXX.

Define the Artwork class (in file Artistwork.java) with constructors to initialize an artwork's information, get methods, and a printInfo() method. Declare a private field artist of type Artist in the Artwork class

Ex. If input is

Pablo Picasso 1881 1973 Three Musicians 1921

the output is, Artist: Pablo Picasso (1881-1973) Title: Three Musicians, 1921

If input is Brice Marden 1938 -1 Distant Muses 2000

the output is, Artist: Brice Marden, born 1938 Title: Distant Muses, 2000

ArtworkLabel.java import java.util.Scanner;

public class ArtworkLabel { public static void main(String[] args) { Scanner scnr = new Scanner(System.in);

String userTitle, userArtistName; int yearCreated, userBirthYear, userDeathYear;

userArtistName = scnr.nextLine(); userBirthYear = scnr.nextInt(); scnr.nextLine(); userDeathYear = scnr.nextInt(); scnr.nextLine(); userTitle = scnr.nextLine(); yearCreated = scnr.nextInt();

Artist userArtist = new Artist(userArtistName, userBirthYear, userDeathYear);

Artwork newArtwork = new Artwork(userTitle, yearCreated, userArtist);

newArtwork.printInfo(); } }

Artist.java public class Artist { // TODO: Declare private fields - artistName, birthYear, deathYear

// TODO: Define default constructor

// TODO: Define second constructor to initialize // private fields (artistName, birthYear, deathYear) // TODO: Define get methods: getName(), getBirthYear(), getDeathYear()

// TODO: Define printInfo() method // If deathYear is entered as -1, only print birthYear

}

Artwork.java public class Artwork { // TODO: Declare private fields - title, yearCreated // TODO: Declare private field artist of type Artist

// TODO: Define default constructor // TODO: Define get methods: getTitle(), getYearCreated()

// TODO: Define second constructor to initialize // private fields (title, yearCreated, artist)

// TODO: Define printInfo() method

} }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!