JAVA “. CLASS verwacht”

Er is meer code na, maar er zijn geen fouten daar, dus ik ga het niet opnemen.
Hoe dan ook, de regel die zegt: “Lotterynumbers [Teller] = Nextint (int 10);” Krijg een fout van ‘.class’.


Antwoord 1, Autoriteit 100%

JAVA kent al het type van de methodeparameter; U hoeft het niet op te geven wanneer u de methode noemt.

nextInt(int 10);

zou moeten zijn:

nextInt(10);

Hieronder gaat u ervan uit dat u daadwerkelijk een methode hebt nextIntgedefinieerd. (Ik zie het niet in uw code-monster)


Antwoord 2, Autoriteit 17%

Java is een objectgerichte taal. Welk object roept u nextInt(10)AAN? Ik zie er geen. De compiler zal dit impliciet aannemen. Gebruikt uw Lotteryeen Randominstantie ergens? Ik zie het niet.

Ik denk dat je zoiets nodig hebt:

private Random random = new Random(System.currentTimeMillis());

Dan moet uw lus dit doen:

lotteryNumbers[counter] = this.random.nextInt(10);

Ik heb andere problemen met wat je doet:

  • onnodige “magische” nummers overal. Het is mogelijk om deze klasse veel flexibeler te maken dan wat je hebt.
  • menging input in klassen zoals dit is een slecht idee. Maak een abstractie waar je waarden in kunt passeren en vertrekken waar je ze alleen van haalt. Denk ‘enkele verantwoordelijkheid’.
  • Ik zie niet in waarom Lotteryeen privégegevenslid nodig heeft voor gebruikersnummers. Ik kan echter zien waar het een methode kan hebben die gebruikersnummers accepteert en vertelt of ze hebben gewonnen of niet. Je hebt naar mijn mening een slechte abstractie gemaakt.

Hierdoor kun je misschien een tijdje vooruit.


Antwoord 3, autoriteit 8%

Waar is de intvoor?

Als je probeert te casten, moet dit (int)zijn.

De reden dat je die fout krijgt, is dat wanneer Java een typenaam ziet waar een expressie wordt verwacht, het denkt dat je probeert te verwijzen naar het klasseobject van dat type, b.v. int.class.


Antwoord 4

Zonder de bijzonderheden van nextInt() te kennen, raad ik aan dat de fout afkomstig is van het sleutelwoord ‘int’ vóór de parameter die u eraan doorgeeft. Probeer:

lotteryNumbers[counter] = nextInt(10);

Other episodes