1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Andrei [34K]
4 years ago
11

1. Write program, WriteData.java, that writes the following data to file books.txt. Include the semicolons. Fiction;Abraham Linc

oln Vampire Hunter;Grahame-Smith;Wiley;NY;13.99;222 Fiction;Frankenstein;Shelley;Prescott;GA;7.99;321 NonFiction;Life of Kennedy;Jones;Pearson;MT;12.90;biography Fiction;Dracula;Stoker;Addison;CA;5.99;145 Fiction;Curse of the Wolfman;Hageman;Wesley;MA;10.59;876 NonFiction;How to Pass Java;Willis;Wiley;NY;1.99;technology Fiction;The Mummy;Rice;Addision;CA;7.99;954 NonFiction;History of Texas;Smith;Prescott;CA;9.75;history 2. Write class Publisher with attributes name and state. 3. Rewrite the Book class to include a type Publisher attribute. 4. Write two children of the Book class: FictionBook and NonFictionBook. FictionBook has an additional attribute, fictionCode. NonFictionBook has an additional attribute, catagoryCode. 5. Rewrite the BookTest program. Method buildInstances will read the data from the file, create instances of FictionBook and NonfictionBook from the data, assign these instances to the Book array and return the bookArray as before. Since it is reading data from the file, it does not have any method parameters. 6. Method createCharges should work the same.
Computers and Technology
1 answer:
Amiraneli [1.4K]4 years ago
7 0

Answer:

Check the explanation

Explanation:

WriteData.java:

import java.io.FileWriter;

import java.io.PrintWriter;

class WriteData {

  String[][] data;

 

  public WriteData() {

      // Data to write to the file

      data = new String[][]{{ "Fiction", "Abraham Lincoln Vampire Hunter", "Grahame-Smith", "Wiley", "NY", "13.99", "222"},

          {"Fiction", "Frankenstein", "Shelley", "Prescott", "GA", "7.99", "321"},

          {"NonFiction", "Life of Kennedy", "Jones", "Pearson", "MT", "12.90", "biography"},

          {"Fiction", "Dracula", "Stoker", "Addison", "CA", "5.99", "145"},

          {"Fiction", "Curse of the Wolfman", "Hageman", "Wesley", "MA", "10.59", "876"},

          {"NonFiction", "How to Pass Java", "Willis", "Wiley", "NY", "1.99", "technology"},

          {"Fiction", "The Mummy", "Rice", "Addision", "CA", "7.99", "954"},

          {"NonFiction", "History of Texas", "Smith", "Prescott", "CA", "9.75", "history"}};

      }

 

  public void writeToFile() {

      try {

          PrintWriter pw = new PrintWriter(new FileWriter("books.txt"));   // Creating an output stream to write to file

         

          // Writing data to the file line by line

          for (int i = 0; i < 8; i++) {

              pw.println(data[i][0] + ";" + data[i][1] + ";" + data[i][2] + ";" + data[i][3] + ";" + data[i][4] + ";" + data[i][5] + ";" + data[i][6]);

          }

         

          pw.close();       // Closing the created output stream

      }

      catch(Exception e) {

          System.err.println(e);

      }

  }

}

Publisher.java:

class Publisher {

  private String name, state;

 

  public Publisher(String name, String state) {

      this.name = name;

      this.state = state;

  }

 

  // Getters and Setters

  public String getName() {

      return name;

  }

  public void setName(String name) {

      this.name = name;

  }

  public String getState() {

      return state;

  }

  public void setState(String state) {

      this.state = state;

  }

 

  public String toString() {

      return name + ";" + state;

  }

}

Book.java:

class Book {

  private String title, author;

  private double price;

  private Publisher publisher;

  public Book(String title, String author, Publisher publisher, double price) {

      this.title = title;

      this.author = author;

      this.publisher = publisher;

      this.price = price;

  }

  public Double calculateCharge(int Qty){

      return getPrice()*Qty;

  }

  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;

  }

  public String getPublisher() {

      return publisher.toString();

  }

  public void setPublisher(Publisher publisher) {

      this.publisher = publisher;

  }

  public double getPrice() {

      return price;

  }

  public void setPrice(double price) {

      this.price = price;

  }

}

FictionBook.java:

class FictionBook extends Book {

  String fictionCode;

 

  public FictionBook(String title, String author, Publisher publisher, double price, String fictionCode) {

      super(title, author, publisher, price);       // Calling the parent constructor to initialize values

      this.fictionCode = fictionCode;

  }

 

  // Getter and Setter

  public String getFictionCode() {

      return fictionCode;

  }

  public void setFictionCode(String fictionCode) {

      this.fictionCode = fictionCode;

  }

}

NonFictionBook.java:

class NonFictionBook extends Book {

  String categoryCode;

 

  public NonFictionBook(String title, String author, Publisher publisher, double price, String categoryCode) {

      super(title, author, publisher, price);       // Calling the parent constructor to initialize values

      this.categoryCode = categoryCode;

  }

 

  // Getter and Setter

  public String getCategoryCode() {

      return categoryCode;

  }

  public void setCategoryCode(String categoryCode) {

      this.categoryCode = categoryCode;

  }

}

BookTest.java:

import java.util.Scanner;

import java.util.*;

import java.io.File;

import java.io.FileNotFoundException;

public class BookTest {

  public static void main(String[] args) {

      // TODO code application logic here

     

      // Writing data to the file using WriteData.java program

      WriteData writeData = new WriteData();

      writeData.writeToFile();

     

      int[] BookQauntity = {12, 8, 3, 53, 7, 23, 14, 5, 6};

      Book[] book = new BookTest().buildInstances();

      Double GrandTotal= new BookTest().createCharges(BookQauntity, book);

      System.out.println("GrandTotal : "+ GrandTotal);

 

 

  }

      catch(FileNotFoundException e) {

          System.err.println("File not found");

      }

     

      return bk;

  };

 

  // ISBN info is removed

  Double createCharges(int[] BookQuantity, Book[] book){

      Double Gtotal =0.0, total=0.0;

      for(int i=0; i<8; i++){

          total = book[i].calculateCharge(BookQuantity[i]);

          System.out.println("Title : "+ book[i].getTitle() + ", Total Charge : "+ total);

          Gtotal +=total;

      }

     

      return Gtotal;

  };

}

You might be interested in
How can development in ICT be utilized to speed up the development and integration efforts
maw [93]

Answer:

Explanation:

1.  Sustainability and scale

2.  Lack of knowledge

 

3. Pace of change

4.  Funding

5. Changing roles and norms

7 0
4 years ago
What will be the result from running the following program?
qwelly [4]

Answer:

If this is python

then you will get this from console:

Grades
100
93

82

Total
275

5 0
2 years ago
How to get points on Brainly?<br> List at least two ways if you can.
GarryVolchara [31]

Answer:

1. Answering questions

2. Logging in everyday

Explanation:

By answering questions, you will earn points. By logging in everyday, I think they give you points as well. Good luck, and hope this helped! :-)

6 0
3 years ago
Read 2 more answers
Is Brainly cheating??
Vanyuwa [196]

Answer: What do you mean?

6 0
3 years ago
Read 2 more answers
Designations at the end of file names such as .docx and .html are called
Amanda [17]

Answer:

Designations at the end of file names such as .docx and .html are called. File extensions.

Explanation:

7 0
3 years ago
Other questions:
  • William would like to sort a list of items after the data is already entered.
    9·1 answer
  • The chief architect now needs to design a memory with an addressability of 32 bits. Suppose the architect can only use the same
    6·1 answer
  • How do you use the Internet? Think about your typical day. When are you using the Internet? For what purposes? What role does it
    11·1 answer
  • HURYY PLEASE and please be the right answer!!!with reasoning
    13·1 answer
  • On the seventh day of the iteration, the team realizes that they will not complete 5 of the 13 stories. the product owner says s
    12·1 answer
  • 1.<br> The correct way to use a seat belt is
    8·1 answer
  • The following is the pseudocode for which type of algorithm? For start = each array subscript, from the first to the next-to-las
    6·1 answer
  • Which scenario is best for an online discussion group?
    5·1 answer
  • Which of these is not an application software?
    6·2 answers
  • Which coding manual contains three to seven character codes with a decimal after the third character
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!