18. december 2007 - 00:47
Der er
6 kommentarer og 1 løsning
Min slet metode virker ikke?
Er der nogle af jer der kan se hvorfor denne slet metode ikke virker?? public boolean deleteVare( String varenummer ) { System.out.println( "Sletter vare med varenummr:" + varenummer ); for( KasseInterface elem : varer ) { if (elem.getVarenummer() == varenummer ) { getVarer().remove( elem ); System.out.println( "Har slettet vare: " + varenummer ); return true; } } System.out.println("Kunne ikke slette varen" ); return false; } I min GUI har jeg : private void jButtonSletActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: lageret.deleteVare( jTextFieldVarenummer.getText() ); jListOversigt.setListData( lageret.getVarer().toArray() ); } Det mest underlige er nu at metoden virker i et andet program??
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
18. december 2007 - 01:42
#1
if (elem.getVarenummer() == varenummer ) { skal nok være: if (elem.getVarenummer().equals(varenummer) ) {
18. december 2007 - 09:58
#2
Perfekt arne_v :o) Smid et svar og tak for hjælpen.
18. december 2007 - 15:07
#3
kommer her
18. december 2007 - 15:12
#4
== tester om argumenterne ligger samme sted i memory .equals tester om de indeholder de samme bogstaver lille demo: public class Equals { public static void main(String[] args) { String s1 = "ab"; String s2 = new String("ab"); String s3 = "a" + "b"; String s4 = new String("a") + new String("b"); String s5 = a() + b(); System.out.println((s1=="ab") + " " + (s1.equals("ab"))); System.out.println((s2=="ab") + " " + (s2.equals("ab"))); System.out.println((s3=="ab") + " " + (s3.equals("ab"))); System.out.println((s4=="ab") + " " + (s4.equals("ab"))); System.out.println((s5=="ab") + " " + (s5.equals("ab"))); } private static String a() { return "a"; } private static String b() { return "b"; } }
18. december 2007 - 15:49
#5
Efter at have kørt den test sammen med min søg knap får jeg dette frem: Søger efter vare med varenummer: 7890 true true false true true true false true false true Hvad betyder det??
18. december 2007 - 16:08
#6
Det skulle ikke blandes med dit program. Det er bare et lille dmeo program som viser at == ikk er godt til streng sammenligning. Kig paa koden og kig paa output.
18. december 2007 - 17:08
#7
Ok.. Troede måske der kom nogle guldkorn ud der ;o) Men kan godt se at resultaterne er svingende med ==
Kurser inden for grundlæggende programmering