16. november 2004 - 12:16
Der er
17 kommentarer og 1 løsning
return fejl med boolean
har følgende små koder private void jButton1_actionPerformed(ActionEvent e) { if(jRadioButton1.isSelected()) { long konto = Integer.parseInt(jTextField2.getText()); if(kontrol.opretKonto(konto, jTextField1.getText())) jLabel5.setText(" " + "Konto oprettet"); else jLabel5.setText(" " + "Fejl!"); } } } den kalder denne metode public boolean opretKonto(long kontoNr, String navn) { for(int i = 0; i < konti.size(); i++) { if ( ((Account)konti.get(i)).name.equals(navn) && ((Account)konti.get(i)).acctNumber == (kontoNr)) return false; } return true; } kan ikke få den til at skrive fejl i min textlabel... har prøvet forskellige måde at få den til at modtage return..
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
16. november 2004 - 12:19
#1
Hvor tilføjer du noget til listen?
16. november 2004 - 12:21
#2
Den vil vel kun skrive fejl hvis kontoen eksisterer i forvejen !?
16. november 2004 - 12:21
#3
Du spørger om der allerede er en konto med det navn og kontonummer, men du tilføjer ikke kontoen (Account) nogle steder. Heller ikke selvom du skriver "kontoen oprettet"...
16. november 2004 - 12:21
#4
ja... og det gør kontoen også.. men den skriver ikke fejl
16. november 2004 - 12:22
#5
to sekunder.. tror sgu jeg har glemt noget hehe
16. november 2004 - 12:22
#6
Har du noget lignende: Account ac = new Account(navn, kontonr); konto.add(ac); nogle steder?
16. november 2004 - 12:28
#7
knappen er den samme men har nu lavet dette public boolean opretKonto(long kontoNr, String navn) { for(int i = 0; i < konti.size(); i++) { if ( ((Account)konti.get(i)).name.equals(navn) && ((Account)konti.get(i)).acctNumber == (kontoNr)) { return false; } else { konto = new Account(navn, kontoNr); konti.add(konto); } } return true; } men virker ikke
16. november 2004 - 12:30
#8
Prøv og skriv de data ud som du sammenligner på. Jeg tror ikke at de matcher helt.
16. november 2004 - 12:31
#9
Følgende er vel mere korrekt: ? public boolean opretKonto(long kontoNr, String navn) { for(int i = 0; i < konti.size(); i++) { if ( ((Account)konti.get(i)).name.equals(navn) && ((Account)konti.get(i)).acctNumber == (kontoNr)) { return false; } } konto = new Account(navn, kontoNr); konti.add(konto); return true; } Men jeg tror ikke det er der problemet ligger, for det ser rigtigt nok ud.
16. november 2004 - 12:32
#10
Må vi prøve at se koden til din Account-klasse ?
16. november 2004 - 12:33
#11
mikkelbm.. læg et svar.. fejlen lå der.. skal lige se hvad jeg havde gjort forkert
16. november 2004 - 12:34
#12
det virkede dit eksempel... men du må gerne se toppen af account.. den er lidt lang.. men der dataen er public class Account { private NumberFormat fmt = NumberFormat.getCurrencyInstance(); private final double RATE = 0.035; long acctNumber; double balance; public String name; public Account (String owner, long account, double initial) { name = owner; acctNumber = account; balance = initial; } public Account (String owner, long account) { name = owner; acctNumber = account; balance = 0.0; }
16. november 2004 - 12:34
#13
svar
16. november 2004 - 12:35
#14
hmm havde jeg bare placeret true forkert? uden for forkerte paranteser?
16. november 2004 - 12:36
#15
Det eneste jeg skulle tjekke i Account-klassen, var at du fik sat dine variable lig med parametrene i contructoren. Men det ser jo rigigt ud :) Jeg synes dog det er pænere at have tilgang til en klasses variabler gennem get og set metoder.
16. november 2004 - 12:38
#16
Før oprettede du, hvis der kontoen ikke eksisterede, en konto for hvert gennemløb i for-løkken.
16. november 2004 - 12:41
#17
ops... den lå jo inde i løkken:o) hehe... nu står der return true til sidst... men er boolean ikke automatisk sat til true? behøver jeg den?
16. november 2004 - 12:46
#18
En boolean er som default false. Og metoden kræver jo en returværdi, så den er du nødt til at angive.
Kurser inden for grundlæggende programmering