Permalänk

Java Objekt

Fick en uppgift från min lärare

Jag behöver förbättra koden.
Finns några förbättringsförslag från min lärare
En av dem är:

Information som behövs för att initiera objektet kanske inte finns

Main metod:

int myNumber = QueueTicketDispenser4.getInstance().getNextNumber(); System.out.println("Könummer: " + myNumber); myNumber = QueueTicketDispenser4.getInstance().getNextNumber(); System.out.println("Könummer: " + myNumber);

QueueTicketDispenser4 kod:

public class QueueTicketDispenser4 { private int nr; private static QueueTicketDispenser4 theOne = new QueueTicketDispenser4(); public static QueueTicketDispenser4 getInstance(){ return theOne; } private QueueTicketDispenser4(){ nr = 1; } public int getNextNumber(){ return nr++; } }

Har inte läst Java för 6 månader och har ingen aning vad han menar.
Jag har lagt showOptiondialog om man vill ha någon kölapp och for loop logik för att dela n antal kölappar för bättre logik och UI(User interface) men vet inte vilken förbättring kan man göra med själv objektet.

public static void main(String[] args) { String [] valString = {"Ja","Nej"}; int val = JOptionPane.showOptionDialog(null, "Vill du ha biljett?", "Biljett",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,null,valString, valString[0]); if(val == 0){ String antalBiljettString = JOptionPane.showInputDialog("Hur mycket biljetter vill du ha?"); int antalBiljettInteger = Integer.parseInt(antalBiljettString); for(int antal = 1;antal<=antalBiljettInteger; antal++){ int myNumber = QueueTicketDispenser4.getInstance().getNextNumber(); System.out.println("Könummer: " + myNumber); } }else{ JOptionPane.showMessageDialog(null, "hej då"); } }

Har ni någon förslag?(Inte svar! jag ska göra själv!)

Permalänk
Medlem

Var inte rädd för att prata med din lärare och be om förtydlingar.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

*Bort*

@Tazavoo har rätt. Kollade inte noga, såg inte att det var singelton design mönster.

Visa signatur

R7-3700X, B450M Mortar MAX, 32GB DDR4 @ 3200, RTX 2080, Corsair CX650M Rev2

Permalänk
Medlem

@Xeno88: Det finns ju redan en privat constructor för att det endast skall finnas en instans, att göra en public constructor skulle ju förstöra hela poängen med klassen.

Permalänk
Medlem

Jag håller inte själv på med Java - men du kan ju få en statisk klass som gör samma sak på 5 rader kod istället för 14.

Sen beror det ju lite på hur uppgiften ser ut och vad man har att förhålla sig till, förstås.

Permalänk
Skrivet av Leedow:

Var inte rädd för att prata med din lärare och be om förtydlingar.

Skrivet av Xeno88:

*Bort*

@Tazavoo har rätt. Kollade inte noga, såg inte att det var singelton design mönster.

Skrivet av Tazavoo:

@Xeno88: Det finns ju redan en privat constructor för att det endast skall finnas en instans, att göra en public constructor skulle ju förstöra hela poängen med klassen.

Skrivet av debben:

Jag håller inte själv på med Java - men du kan ju få en statisk klass som gör samma sak på 5 rader kod istället för 14.

Sen beror det ju lite på hur uppgiften ser ut och vad man har att förhålla sig till, förstås.

Tack alla för hjälpen