|
|
- Tee luokka Kirja. Kirja-luokalla on ominaisuudet nimi, isbn, hinta ja julkaisuvuosi. Tee luokkaan set-, get- ja toString-metodit, parametriton konstruktori ja parametrillinen konstruktori. Käytä metodien tekemiseen Eclipsen Source valikosta löytyviä Generate toimintoja.
-
- Tee ohjelmaluokka KirjaOhjelma, jossa tehdään kaksi olioita. Ensimmäinen olio tehdään parametrillisella konstruktorilla ja näytetään toString-metodilla. Toinen olio tehdään parametrittomalla konstruktorilla. Tiedot asetetaan set-metodeilla ja näytetään get-metodeilla.
-
- ```
- Example output:
- Anna nimi: 97 Things Every Java Programmer Should Know
- Anna isbn: ei tietoa
- Anna hinta: 26,80
- Anna julkaisuvuosi: 2020
-
- Kirja [nimi=97 Things Every Java Programmer Should Know, isbn=ei tietoa, hinta=26.8, vuosi=2020]
-
- Nimi: 97 Things Every Java Programmer Should Know
- Isbn: ei tietoa
- Hinta: 26,80
- Julkaisuvuosi: 2020
- ```
-
- ------------------
-
- ```
- // Kirja.java
-
- public class Kirja {
-
- private String nimi, isbn;
- private double hinta;
- private int julkaisuvuosi;
-
- public void setNimi(String nimi) {
- this.nimi = nimi;
- }
-
- public void setIsbn(String isbn) {
- this.isbn = isbn;
- }
-
- public void setHinta(double hinta) {
- this.hinta = hinta;
- }
-
- public void setJulkaisuvuosi(int julkaisuvuosi) {
- this.julkaisuvuosi = julkaisuvuosi;
- }
-
- public String getNimi() {
- return this.nimi;
- }
-
- public String getIsbn() {
- return this.isbn;
- }
-
- public double getHinta() {
- return this.hinta;
- }
-
- public int getJulkaisuvuosi() {
- return this.julkaisuvuosi;
- }
-
- // Parametriton konstruktori
- public Kirja() {
- }
-
- // Parametrillinen konstruktori
- public Kirja(String nimi, String isbn, double hinta, int julkaisuvuosi) {
- this.setNimi(nimi);
- this.setIsbn(isbn);
- this.setHinta(hinta);
- this.setJulkaisuvuosi(julkaisuvuosi);
- }
-
- @Override
- public String toString() {
- return "Kirja [" +
- "nimi=" + this.nimi +
- ", isbn=" + this.isbn +
- ", hinta=" + this.hinta +
- ", vuosi=" + this.julkaisuvuosi +
- "]";
- }
- }
- /*
- @Override
- public String toString() {
-
- ArrayList<Object> kirjaData = new ArrayList<Object>(Arrays.asList(
- "nimi=" + this.getName(),
- "isbn=" + this.getISBN(),
- "hinta=" + this.getPrice(),
- "julkaisuvuosi=" + this.getYear()
- ));
- ArrayList<Object> kirjaData = new ArrayList<Object>(Arrays.asList(
- this.getName(),
- this.getISBN(),
- this.getPrice(),
- this.getYear()
- ));
- return kirjaData.toString();
- }
- */
- ```
-
- ------------------
-
- ```
- // KirjaOhjelma.java
-
- import java.text.DecimalFormat;
- import java.util.InputMismatchException;
- import java.util.Scanner;
-
- public class KirjaOhjelma {
-
- private static Kirja kirja = new Kirja();
- private String kirjaData;
-
- public static void main() {
-
- // Luodaan olio: Parametriton KirjaOhjelma
- // Täällä saamme datan, jota voimme käsitellä parametrillisessa
- // oliossa.
- KirjaOhjelma kirjaJavaObject_1 = new KirjaOhjelma();
-
- // Luodaan olio: Parametrillinen KirjaOhjelma
- KirjaOhjelma kirjaJavaObject_2 = new KirjaOhjelma(
- kirja.getNimi(),
- kirja.getIsbn(),
- kirja.getHinta(),
- kirja.getJulkaisuvuosi()
- );
-
- System.out.println(kirja);
- System.out.println(kirjaJavaObject_2);
- }
-
- // Parametrillinen konstruktori
- public KirjaOhjelma(String nimi, String isbn, double hinta, int julkaisuvuosi) {
-
- DecimalFormat r2 = new DecimalFormat(".00");
- this.kirjaData = String.format(
- "Nimi: %s\nIsbn: %s\nHinta: %s\nJulkaisuvuosi: %s\n",
- nimi,
- isbn,
- r2.format(hinta),
- julkaisuvuosi
- );
- }
-
- @Override
- public String toString() {
- return this.kirjaData;
- }
-
- // Parametriton konstruktori
- public KirjaOhjelma() {
-
- Scanner syote = new Scanner(System.in);
-
- System.out.print("Anna nimi: ");
- kirja.setNimi(syote.nextLine());
-
- System.out.print("Anna isbn: ");
- kirja.setIsbn(syote.nextLine());
-
- try {
- System.out.print("Anna hinta: ");
- kirja.setHinta(syote.nextDouble());
- } catch (InputMismatchException e) {
- System.err.println("Syöttämäsi hinta ei ole kelvollinen luku");
- System.exit(1);
- }
-
- try {
- System.out.print("Anna julkaisuvuosi: ");
- kirja.setJulkaisuvuosi(syote.nextInt());
- } catch (InputMismatchException e) {
- System.err.println("Syöttämäsi vuosi ei ole kelvollinen luku");
- System.exit(1);
- }
-
- }
-
- }
-
- //System.out.println(kirja);
-
- //ArrayList<Object> kirjaDataArray = new ArrayList<Object>();
-
- //kirjaDataArray.add(kirja.getNimi());
- //kirjaDataArray.add("nimi=" + kirja.getNimi());
-
- //kirjaDataArray.add(kirja.getIsbn());
- //kirjaDataArray.add("isbn=" + kirja.getIsbn());
-
- //kirjaDataArray.add(kirja.getHinta());
- //kirjaDataArray.add("hinta=" + kirja.getHinta());
-
- //kirjaDataArray.add(kirja.getJulkaisuvuosi());
- //kirjaDataArray.add("vuosi=" + kirja.getJulkaisuvuosi());
-
- //System.out.println("Kirja: " + kirjaDataArray.toString());
-
- //this.kirjaData = kirjaDataArray;
- /*
- System.out.printf("Kirja: " +
- "nimi=" + kirjaDataArray.get(0).toString(),
- "isbn=" + kirjaDataArray.get(1).toString(),
- "hinta=" + kirjaDataArray.get(2).toString(),
- "vuosi=" + kirjaDataArray.get(3).toString()
- );
- */
-
-
- // Parametriton - Kirja
- /*Kirja javaKirja = new Kirja();
- javaKirja.setNimi("97 Things Every Java Programmer Should Know");
- javaKirja.setIsbn("ei tietoa");
- javaKirja.setHinta(26.80);
- javaKirja.setJulkaisuvuosi(2020);
-
- // Parametrillinen -Kirja
- javaKirja = new Kirja(
- "97 Things Every Java Programmer Should Know",
- "ei tietoa",
- 26.80,
- 2020
- );*/
-
- // Parametrillinen - KirjaOhjelma
- //this.javaKirja = new Kirja();
-
- /*
- // Parametrillinen konstruktori
- public KirjaOhjelma(String nimi, String isbn, double hinta, int julkaisuvuosi) {
-
- DecimalFormat r2 = new DecimalFormat(".00");
-
- this.kirjaData = String.format(
- "Nimi: %s\nIsbn: %s\nHinta: %s\nJulkaisuvuosi: %s\n",
- nimi,
- isbn,
- r2.format(hinta),
- julkaisuvuosi
- );
- }*/
- /*
- // Parametriton konstruktori
- public KirjaOhjelma() {
-
- Scanner syote = new Scanner(System.in);
- ArrayList<String> kirjaDataArray = new ArrayList<String>();
-
- Kirja kirjaInput = new Kirja();
-
- System.out.print("Anna nimi: ");
- kirjaInput.setNimi(syote.nextLine());
- kirjaDataArray.add("nimi=" + kirjaInput.getNimi());
-
- System.out.print("Anna isbn: ");
- kirjaInput.setIsbn(syote.nextLine());
- kirjaDataArray.add("isbn=" + kirjaInput.getIsbn());
-
- System.out.print("Anna hinta: ");
- kirjaInput.setHinta(syote.nextDouble());
- kirjaDataArray.add("hinta=" + kirjaInput.getHinta());
-
- System.out.print("Anna julkaisuvuosi: ");
- kirjaInput.setJulkaisuvuosi(syote.nextInt());
- kirjaDataArray.add("julkaisuvuosi=" + kirjaInput.getJulkaisuvuosi());
-
- this.kirjaData = kirjaDataArray;
-
- }
- */
- /*
- @Override
- public String toString() {
- //if (this.kirjaData instanceof String) {
- return this.kirjaData.toString();
- //} else {
- // return null;
- //}
- }*/
-
-
- //private String kirjaDataStr;
- //private ArrayList<String> kirjaData = new ArrayList<String>();
-
-
- /*
- @Override
- public String toString() {
-
- DecimalFormat r2 = new DecimalFormat(".00");
-
- String t = String.format(
- "Nimi: %s\nIsbn: %s\nHinta: %s\nJulkaisuvuosi: %s\n",
- this.kirjaInput.getName(),
- this.kirjaInput.getISBN(),
- r2.format(this.kirjaInput.getPrice()),
- this.kirjaInput.getYear()
- );
-
- return String.format("%s\n\n%s", this.kirjaInput.toString(), t);
-
- //return this.kirjaInput.toString();
- }*/
-
- //this.kirjaInput = kirjaUserInput;
-
- /*this.kirjaData = new ArrayList<Object>(Arrays.asList(
- "nimi=" + this.kirjaInput.getName(),
- "isbn=" + this.kirjaInput.getISBN(),
- "hinta=" + this.kirjaInput.getPrice(),
- "julkaisuvuosi=" + this.kirjaInput.getYear()
- ));*/
- ```
|