Kald til metode

Tags:    java

<< < 12 > >>
Hej håber i kan hjælpe.

Hvorfor er der en rød streg under hackAraay i linien: c1.hackArray(hackList); ?

class Class1
{
public static void main(String[] args)
{
Integer[] hackList = {1,2,3,4,5};
Class1 c1 = new Class1();
c1.hackArray(hackList);

}

public void hackArray(int[] a)
{
for (int i = 5; i < a.length; i++)
{
System.out.println("hej");
}

}
}



Istedet for
Class1 c1 = new Class1();
c1.hackArray(hackList);

vil det så ikke være ønskeligt bare at skrive
this.hackArray(hackList);

?



Jo det var sikkert lettere at skrive det på den måde.. :)

Men nu lyser både this og metoden rødt, det er lidt mærkeligt, syntes det virker godt nok..




Hej Misha,

Det er fordi at du kaler en metode som tager int[] med Integer[]. Der kan ikke auto boxes og unboxes på den måde.

Integer[] hackList = { 1, 2, 3, 4, 5 };
public void hackArray(int[] a)


Med venlig hilsen
Ieet






Indlæg senest redigeret d. 17.03.2009 15:02 af Bruger #12836
Takker for det :)




Hej Misha,

Du finder snart ud af at din for løkke skal starte med:
int i = 1

Jeg kan desværre ikke se pointen med Pers kode, udover at du sparer et objekt som du ikke benytter efterfølgende. Objektet bliver også oprettet i Pers kode, selvom der ikke lagres en pointer til det.
- Din kode antyder at du har tænkt dig senere at lade c1 objektet indeholde data.

Hvis du ville spare, skulle du i Pers kode fjerne "this." og erklære hackArray() metoden for static.

Med venlig hilsen
Ieet







Hej igen

Det er simpelthen fordi jeg ville have den til at få en exception som vi skal arbejde med.. Men den vil faktisk ikke ud med en exception :/



Fold kodeboks ind/udKode 




i'er har jeg lavet om det over 5 men ingen exception :(





Hej Misha,

Nej, den kode kommer ikke med en exception.

Hvilken exception vil du gerne have ?

- java.lang.NullPointerException
Fold kodeboks ind/udJava kode 


Med venlig hilsen
Ieet




Opgaven går ud på at man skal sætte index højere end arrayets længde, men her kan jeg ikke få en exception, selvom jeg ryger over længden..



<< < 12 > >>
t