01. februar 2012 - 21:03
Der er
49 kommentarer og 1 løsning
Logisk regne logik
public String vælgMenu(int valg){ String res = ""; for (int i = 0; i < menuList.size(); i++) { if(valg == menuList.get(i).getNr()){ res = res + menuList.get(i).toString(); System.out.println(res); } sumPris += sum + valg; } return res; } hvis nu jeg vil have den ovenståede metode til at kunne indtage antal af bestemt menuer, hvordan skal jeg kode det? f.eks. i: public static void main(String[] args) { KasseApparat k = new KasseApparat(); k.vælgMenu(2*24); når jeg har skrvet i parameter 2*24, vil jeg gerne have at den lægger 2 gange af 24's priser sammen. Håber de forstår hvad jeg mener? }
Annonceindlæg fra Infor
01. februar 2012 - 21:45
#1
send antal med over som argument nummer 2 og gang med det k.vælgMenu(24, 2); public String vælgMenu(int valg, int antal){
01. februar 2012 - 21:57
#2
okay? så den kan ikke indlæser gange tegn`?
01. februar 2012 - 22:02
#3
Jo men du vil vel ikke lede efter nummer 48 ???
01. februar 2012 - 22:18
#4
nej desværre.... jeg gerne den skal hente 2 gange af nr 24, og ikke nr 48.. indtilvidere regne programmet sum af 2*24, men det vil jeg ikke have,... jeg vil har 2 stk af nr 24... dvs. hvis 24 består af kylling, så jeg vil have 2 gange af kylling..
01. februar 2012 - 22:28
#5
derfor du skal have 2 argumenter til metoden
01. februar 2012 - 22:39
#6
jeg er forelsker i '*' tegnet...... så det andet kan ikke lade sig gøre?
01. februar 2012 - 22:44
#7
Du skal sende to separate argumenter me dover. Og saa skal du gange inden i metoden ! Saa du faar dit gange tegn alligevel!
02. februar 2012 - 00:48
#8
Ok, nu kan jeg skriver: KasseApparat k = new KasseApparat(); k.vælgMenu(2,24); og får 2 * Suppe á 35.0 kr. men hvordan erstatter jeg så med 2,4 med 2*4?? forstod ikke helt hvad du ment før :D public String vælgMenu(int antal, int valg){ String res = ""; for (int i = 0; i < menuList.size(); i++) { if(valg == menuList.get(i).getNr()){ menuList.get(i).setAntal(antal); res += menuList.get(i).toString(); sum += menuList.get(i).getPris()*antal; } } System.out.println(res); return res; }
02. februar 2012 - 01:12
#9
Jeg tror at du har gjort det rigtigt. Det jeg snakkede om var at du skal have gange her: sum += menuList.get(i).getPris()*antal;
02. februar 2012 - 01:31
#10
Okay. så den gang tegn, som jeg savner, kan det ikke lade sig gøre?? i stedet for 2,4 så kan man skrive 2*4?
02. februar 2012 - 01:36
#11
Nej.
02. februar 2012 - 01:46
#12
hhhhmmmmm.. heller ikke hvis man combinere det med char[] = x?
02. februar 2012 - 01:53
#13
du kunne sende en streng med over og saa parse den, men det er langt paenere med de to argumenter
02. februar 2012 - 11:08
#14
Hej, en helt spørgsmål.. hvordan skifter jeg skriftyper i tostirng metode??
02. februar 2012 - 11:30
#15
#14 Skrifttyper?? En string har ikke nogen skrifttype...
02. februar 2012 - 12:09
#16
jeg mener selve teksten? feks. System.out.println("Hej verden"); kan jeg ikke skifte skrifttype i "hej verden"?, eller skal jeg skrive det i word, også copy paster i programmet??
02. februar 2012 - 12:46
#17
Det man måske slet ikke lade sig gøre?
02. februar 2012 - 15:23
#18
Nej. En string har ikke nogen skrift type. Og for console (System.out er console) vaelger du skrifttype for hele consollen. Hvis du skifter fra consol til GUI kan du eksperimentere med skrifttyper, stoerelse og farver!
03. februar 2012 - 00:58
#19
hej, jeg er igang med at programmere en kasseapparat for sjov. har combinere det med gui, men jeg savner en metode. vil hoere om det kan lade goere: i stedet for skal man bruge mus klikke på de enkelt Jbutton knapper, så vil jeg gerne bruge tastatur til det? f.esk i stedet for klikke på button klapper så trykker jeg på tastaturet? Håber de forstår hvad jeg mener?
03. februar 2012 - 01:06
#20
Du kan sagtens laese keystroke i en Swing app.
03. februar 2012 - 01:07
#21
Tilfoej en KeyListner
03. februar 2012 - 01:34
#22
hhhmmm lyder da meget besvær...
03. februar 2012 - 01:35
#23
hvad skal jeg implemtere?
03. februar 2012 - 01:38
#24
vil gerne have bruge tastaturet enter knapper i stedet for man går hen og trykker mussen?
03. februar 2012 - 01:48
#25
tror jeg har fundet noget... men hvad er forskellen mellem keyReleased() keyPressed() keyTyped()
03. februar 2012 - 01:54
#26
hvilken af dem skal jeg bruge?
03. februar 2012 - 02:29
#27
du skal bruge keyTyped naar du bare skal vide at der er tastet noget men keyPressd og keyReleased naar du skal vide hvornaar tasten trykked ned og hvornaar den slippes igen
03. februar 2012 - 03:52
#28
demo: import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingUtilities; public class BtnAndKbd extends JFrame { private JTextField tf; public BtnAndKbd() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(new BorderLayout()); setTitle("Button *and* keyboard"); tf = new JTextField(""); getContentPane().add(tf, BorderLayout.NORTH); JPanel p = new JPanel(); p.setLayout(new GridLayout(3, 4)); for(int i = 0; i < 10; i++) { final int val = i; JButton btn = new JButton("#" + val); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { tf.setText(tf.getText() + val); } }); p.add(btn); } getContentPane().add(p, BorderLayout.CENTER); this.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent ev) { // nothing } public void keyReleased(KeyEvent ev) { // nothing } public void keyTyped(KeyEvent ev) { tf.setText(tf.getText() + ev.getKeyChar()); } }); setPreferredSize(new Dimension(300, 200)); pack(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new BtnAndKbd(); f.setVisible(true); } }); } }
03. februar 2012 - 03:53
#29
Bemaerk at ovenstaaende kode kraever at man er i textfield naar man skal bruge keyboard.
03. februar 2012 - 11:21
#30
hhmm,, skal main ogsaa vaere i selve textfield?
03. februar 2012 - 11:28
#31
det gaar alt...faar masse af expetion :(
04. februar 2012 - 00:50
#32
nogle her kan fortaelle mig hvad der er galt her? manger jeg noget her? public void keyTyped(java.awt.event.KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { label.setText("Test"); guiMenu.setVisible(true); } public void keyPressed(java.awt.event.KeyEvent e) { } public void keyReleased(java.awt.event.KeyEvent e) { } }); } return Bord1; }
04. februar 2012 - 01:19
#33
Hvilken fejl faar du og hvordan ser den omkringliggende kode ud?
04. februar 2012 - 21:24
#34
jeg får ingen fejl beskrivelse.. den virker bare ikke udmiddelbart. jeg har lavet den i en klasse med de andre labels og buttons, alså i gui-klassen? public void keyTyped(KeyEvent e) { int keyCode = e.getKeyCode(); if (keyCode == KeyEvent.VK_ENTER) { label.setText("Test"); guiMenu.setVisible(true); System.out.println("hej"); } else { KeyEvent.getKeyText(keyCode); e.consume(); } // } public void keyPressed(java.awt.event.KeyEvent e) { e.consume(); } public void keyReleased(java.awt.event.KeyEvent e) { e.consume(); }; }
04. februar 2012 - 21:51
#35
alså programmet reagere ikke noget når jeg trykker på enter-knappeen... irriterende.............:D
05. februar 2012 - 00:20
#36
hvor kalder du addKeyListener ?
05. februar 2012 - 00:48
#37
public Gui() { super(); addKeyListener(this); } det har jeg gjordt i construktoer.??
05. februar 2012 - 01:03
#38
er det forkert?
05. februar 2012 - 01:33
#39
nej - det er OK
05. februar 2012 - 01:34
#40
og du kan ikke faa det virke ved at saette fokus forskellige steder?
05. februar 2012 - 03:10
#41
har nu prøvet flere steder, men virker bare ikke.... jeg ved ikke hvad der er galt...
05. februar 2012 - 04:05
#42
virker mit eksempel hos dig?
05. februar 2012 - 11:13
#43
desvaerre :(
05. februar 2012 - 15:05
#44
Kan de fortaelle mig hvad der er galt med den boolean? den udskriver nummerfindes ikke uanset om nummer findes eller ikke findes,, den udskriver hverdag når jeg kører programmet?? hvis valg != drikkesnr, så skal udskriver nummer findes ikke. men det gør den bare ikke? public synchronized String vælgDrikkeVarer(int antal, int valg){ String res = ""; boolean rigtigNr = false; for (int i = 0; i < drikkeList.size(); i++) { if(valg == drikkeList.get(i).getNr()){ drikkeList.get(i).setAntal(antal); res = res + drikkeList.get(i).toString(); sum += drikkeList.get(i).getPris() * antal; rigtigNr = true; } else if(valg != drikkeList.get(i).getNr()){ rigtigNr = false; } } if(rigtigNr == false){ System.out.println("nummer findes ikke"); } return res; }
06. februar 2012 - 04:32
#45
Jeg tror ikke at: else if(valg != drikkeList.get(i).getNr()){ rigtigNr = false; } skal vaere der. proev og overvej situationen: ikke match match ikke match
03. juni 2012 - 14:50
#46
Mange tak
03. juni 2012 - 14:51
#47
Mange tak
03. juni 2012 - 15:10
#48
saa tak men ingen point
03. juni 2012 - 15:51
#49
:( det var sgu ikke menning..hhmm,, måske har jeg gjordt det forkert? ? hvordan pointgiver jeg?
Kurser inden for grundlæggende programmering