Avatar billede madseksperten Nybegynder
10. november 2011 - 21:33 Der er 14 kommentarer og
1 løsning

setRefNumber

Spørgsmålet lyder:

Add a further field, refNumber, to the Book class. This field can store a reference number for a library, for example. It should be of type String and initialised to the zero length string ("") in the constructor as its initial value is not passed in a parameter to the constructor. Instead, define a mutator for it with the following signature:

public void setRefNumber(String ref)

The body of this method should assign the value of the parameter to the refNumber field. Add a corresponding getRefNumber accessor to help you check that the mutator works correctly.

____________________________

class Book
{
   
    private String author, title;
    private int pages,
refNumber;


    public Book(String bookAuthor, String bookTitle, int pages)
    {
        author = bookAuthor;
        title = bookTitle;
        this.pages = pages;
       
this.refNumber = refNumber;

    }

    // Add the methods here ...
   
    public String getAuthor()
    {
        return author;
    }
   
    public String gettitle()
    {
        return title;
    }
   
    public void printAuthor()
    {
        System.out.println(author);
    }
   
    public void printTitle()
    {
        System.out.println(title);
    }
   
    public int getpages()
    {
        return pages;
    }
   
    public void printDetails()
    {
        System.out.println(" Title:" + title + ", Author:" + author + ", pages:" + pages);
    }
   
}

Det eneste jeg har lavet er de blå mærker, men håber i kan hjælpe mig videre?

Mvh Mads
Avatar billede madseksperten Nybegynder
10. november 2011 - 21:40 #1
rettelse:
i feltvariablerne skal der stå:

private int pages,refNumber;
Avatar billede Slettet bruger
10. november 2011 - 21:59 #2
I din kode får du blot tildelt refNumber til sig selv. Den skal også komme ind et sted fra (hint: din constructor).
Avatar billede Slettet bruger
10. november 2011 - 22:02 #3
Og så fik jeg desværre ikke læst dit indlæg ordentligt. Du skal lave en get og set metode til din refNumber, og din refNumber skal være af typen String (og initialiseret med den tomme streng).
Avatar billede madseksperten Nybegynder
10. november 2011 - 22:06 #4
tak for svaret indtil videre.

Jeg forstår bare ikke det med String, fordi når jeg tænker number så vil jeg skrive int, eller?
Avatar billede madseksperten Nybegynder
10. november 2011 - 22:09 #5
jeg er godt nok helt blank med det constructor, hvordan det skal skrives
Avatar billede Slettet bruger
10. november 2011 - 22:20 #6
Kan godt forstå du er lidt forvirret mht refNumber når de skriver det skal være en String (misvisende navn på variablen). Den er bare en String, og skal laves som en String (som får tildelt den tomme streng i din constructor).

Du skal så lave en set metode som de har vist begyndelsen på, og en get metode der kan returnere din refNumber (igen som String).

Prøv eventuelt at søge på JavaBeans. Der burde du kunne finde masser af eksempler på hvordan man laver getter og setter metoder for forskellige objekter (inkl. String) og primitive typer.
Avatar billede JensPeterSvensson Nybegynder
10. november 2011 - 22:27 #7
At initialiser en streng til den tomme streng er en simpel tildeling:

  refNumber = "";

Den simpelste get og set metode til en variabel and typen A med navnet alphaBeta skrives normalt (Kan være det kan skrives pænere nu om dage, men det er det her du bliver bedt om):

// GET
public A getAlphaBeta(){
  return alphaBeta;
}

// SET
public void setAlphaBeta(A value){
  alphaBeta = value;
}
Avatar billede madseksperten Nybegynder
10. november 2011 - 22:50 #8
Hejsa.
tak indtil videre.

JensPeter: Jeg forstår bare ikke med at return, fordi man kan jo ikke retunere en value fra metoden, når typen er void?
Avatar billede madseksperten Nybegynder
10. november 2011 - 22:56 #9
Der står faktisk noget med Set og Get her:

http://jibx.sourceforge.net/jibxota/apidocs/org/ota/air/AirItinerary.OriginDestinationOption.html#setRefNumber%28java.lang.Integer%29

Jeg er egentligt bare i tvivl hvad jeg kunne få ud af at læse fx setRefNumber ?
Avatar billede madseksperten Nybegynder
10. november 2011 - 23:01 #10
Hvad med det her:

/**
* A class that maintains information on a book.
* This might form part of a larger application such
* as a library system, for instance.
*
* @author (Insert your name here.)
* @version (Insert today's date here.)
*/
class Book
{
    // The fields.
    private String author, title,
refNumber;

    private int pages;

    /**
    * Set the author and title fields when this object
    * is constructed.
    */
    public Book(String bookAuthor, String bookTitle,
String refNumber,
int pages)
    {
        author = bookAuthor;
        title = bookTitle;
        this.pages = pages;
        []divrefNumber = ("");[/div]

    }

    // Add the methods here ...
   
    public String getAuthor()
    {
        return author;
    }
   
    public String gettitle()
    {
        return title;
    }
   
    public void printAuthor()
    {
        System.out.println(author);
    }
   
    public void printTitle()
    {
        System.out.println(title);
    }
   
    public int getpages()
    {
        return pages;
    }
   
    public void printDetails()
    {
        System.out.println(" Title:" + title + ", Author:" + author + ", pages:" + pages);
    }
   
   
public void setRefNumber(String ref)
    {
        refNumber = ref;
    }

   
}
Avatar billede madseksperten Nybegynder
10. november 2011 - 23:02 #11
igen skal det lige siges at feltvariabler og constructor altså hopper en linje ned.
Avatar billede madseksperten Nybegynder
10. november 2011 - 23:06 #12
måske har jeg den nu:

/**
* A class that maintains information on a book.
* This might form part of a larger application such
* as a library system, for instance.
*
* @author (Insert your name here.)
* @version (Insert today's date here.)
*/
class Book
{
    // The fields.
    private String author, title, refNumber;
    private int pages;

    /**
    * Set the author and title fields when this object
    * is constructed.
    */
    public Book(String bookAuthor, String bookTitle, String refNumber, int pages)
    {
        author = bookAuthor;
        title = bookTitle;
        this.pages = pages;
        refNumber = ("");

    }

    // Add the methods here ...
   
    public String getAuthor()
    {
        return author;
    }
   
    public String gettitle()
    {
        return title;
    }
   
    public void printAuthor()
    {
        System.out.println(author);
    }
   
    public void printTitle()
    {
        System.out.println(title);
    }
   
    public int getpages()
    {
        return pages;
    }
   
    public void printDetails()
    {
        System.out.println(" Title:" + title + ", Author:" + author + ", pages:" + pages);
    }
   
    public void setRefNumber(String ref)
    {
        refNumber = ref;
    }
   
    public String getRefNumber()
    {
        return refNumber;
    }
}
Avatar billede madseksperten Nybegynder
11. november 2011 - 00:18 #13
Ligger i et svar ? Det virker her ihvertfald :-)
Avatar billede JensPeterSvensson Nybegynder
11. november 2011 - 07:38 #14
svar
Avatar billede Slettet bruger
11. november 2011 - 19:18 #15
Jeg springer over.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester