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
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
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