Avatar billede yayo0 Nybegynder
27. september 2010 - 18:32 Der er 10 kommentarer og
1 løsning

Ændrer parameterens indhold

hej Eksperten.
Hvordan kan jeg ændre parameterens parameterens indhold?

public void setDay(int day)
//fx parameter 12 ændrer 20060928 til 20060912

public void setMonth(int m)   
//Ændrer måned til parameterens indhold

public void setYear(int year)
//Ændrer år til parameterens indhold
Avatar billede arne_v Ekspert
27. september 2010 - 18:41 #1
Java bruger call by value, så du kan ikke ændre en int som er argument til en metoder (så ændringen ses udenfor).
Avatar billede simonvalter Praktikant
27. september 2010 - 18:45 #2
Avatar billede yayo0 Nybegynder
27. september 2010 - 19:04 #3
Jeg har iforvejen int date.
den har en værdi af 20100927
Jeg vil gerne ændre parameterens indhold nedunder sådan at jeg bruger public void setDay(int day).
Jeg ved bare ikke hvad jeg skal skrive nedunder sådan at parameter ændrer år, måneder og dage?
Avatar billede arne_v Ekspert
27. september 2010 - 19:07 #4
Som i:

public void setDay(int day) {
    date = (date / 100)*100 + day;
}

?
Avatar billede arne_v Ekspert
27. september 2010 - 19:08 #5
Hvis det er tilfældet så bør du nok bruge Calendar klassen.
Avatar billede gedfrik Nybegynder
27. september 2010 - 22:59 #6
Month m = setMonth(6);

public Month setMonth(int m){
// Gør noget med m
// ...
return new Month(...);
}


Giver overstående mening? Som Arne, skal du nok se lidt på Calendar klassen, men umiddelbart lyder det til dit problem er at du ikke ved hvordan man returnerer en værdi fra en funktion?
Avatar billede odsgaard Praktikant
28. september 2010 - 02:02 #7
Et simpelt forslag kunne være flg.:

private int day;
private int month;
private int year;

public void setDay(int day){
  this.day = day;
}
public void setMonth(int month){
  this.month = month;
}
public void setYear(int year){
  this.year = year;
}

public int getDate(){
  int result = day;
  result += (month*100)
  result += (year*1000000)
  return result;
}

Nu fremgår det jo ikke tydeligt hvilken sammenhæng du skal bruge det i -> der er sandsynligvis andre metoder, der er meget bedre at bruge ex. Calendar-klassen, som Arne er inde på.

Håber du kan bruge det

/Brian
Avatar billede yayo0 Nybegynder
12. oktober 2010 - 15:19 #8
Tak for det
Avatar billede arne_v Ekspert
12. oktober 2010 - 15:21 #9
Der er vel nogen af svarerne som skal have point??
Avatar billede yayo0 Nybegynder
14. oktober 2010 - 00:06 #10
det får du.
tak for hjælpen
Avatar billede arne_v Ekspert
14. oktober 2010 - 02:13 #11
Nu fik du alligevel taget point selv!
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