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
Get step-by-step solutions from verified subject matter experts
