Avatar billede itckongen Nybegynder
10. november 2002 - 19:43 Der er 8 kommentarer og
1 løsning

Java hjælp igen igen...

Hej Eksperter.

JEg er stødt på et nyt problem :)

public class Heather
{
    // Variablerne
    private int Temperature;
    private int min;
    private int max;
    private int increment;

    /**
    * Constructor
    */
    public Heather(int increment, int max, int min)
    {
    Temperature = 15;
    }

    /**
    *Public method
    */
 
  public void warmer()
  {
  Temperature = Temperature+increment;
  }
 
  public void cooler()
  {
  Temperature = Temperature-increment;
  }
 
 
  public int temp()
  {
  return Temperature;
  }
}

Det er de 2 metoder der hedder warmer & cooler de virker ikke efter hensigten.
Meningen var hvis du tog og sagde warmer skulle den ligge det til du har defineret increment til, og modsat med cooler.

/Kongen
Avatar billede a-torsten Nybegynder
10. november 2002 - 19:47 #1
public void warmer(int increment)
  {
  Temperature = Temperature+increment;
  }
 
  public void cooler(int increment)
  {
  Temperature = Temperature-increment;
  }
Avatar billede arne_v Ekspert
10. november 2002 - 19:48 #2
Hvad med:

public Heather(int increment, int max, int min)
    {
    Temperature = 15;
    this.increment = increment;
    this.max = max;
    this.min = min;
    }
Avatar billede itckongen Nybegynder
10. november 2002 - 19:52 #3
a-torsten: hvis jeg sætter int increment i parameter så skal jeg angive hvor meget temperaturen skal falde eller stige.
Det er jo ikke det der er meningen ellers tak :)
Avatar billede arne_v Ekspert
10. november 2002 - 19:53 #4
Så skal du bruge min løsning.

Du angiver increment i constructor kaldet og
gemmer den i klasse variablen til senere brug.
Avatar billede itckongen Nybegynder
10. november 2002 - 19:54 #5
arne_
Avatar billede itckongen Nybegynder
10. november 2002 - 19:55 #6
arne_v det virker takker :)
Kan du give mig en kort forklaring, hvorfor der skal stå this.increment = increment;
Så ville jeg være glad ...
Avatar billede arne_v Ekspert
10. november 2002 - 19:59 #7
Problemet er at du har en klasse variabel
(private int increment) og et argument (increment)
i constructoren som hedder det samme.

increment betyder argumentet i Java sproget.

Så for at få fat i klasse variablen bruger
man this.increment.

Det er noget man bruger ret tit i Java.
Avatar billede arne_v Ekspert
10. november 2002 - 20:19 #8
Iøvrigt er min brug af termen "klasse variabel" suspekt.

En "class variable" er variable i klassen som
er erklæret static, mens variable der ikke er
erklæret static er en "instance variable".

Men jeg synes bare ikke at man kan bruge
termen "instans variabel" på dansk.
Avatar billede itckongen Nybegynder
10. november 2002 - 20:22 #9
Jeg vidste godt hvad du mente med klasse variabel.
Jeg plejer dog at at sige Class variable, men pyt nu med det :)
Jeg forstod det, og siger endnu en gang tak...
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