Geldstückelung

Status
Nicht offen für weitere Antworten.
T

theGoodGuy

Gast
Hey

Ok ich will ein programm schreiben welches die optimale Stückelung von Banknoten berechnet. Also das programm soll fragen wie viel Geld ich haben möchte und mir dann ausgeben wie dies am besten Gestückelt werden kann.(minimale Anzahl an Banknoten)
Die möglichen Beträge wäre 500,200,100,50,20,10,5,2,1 . Der einzugebene Betrag soll immmer dezimal und ohne Kommastellen sein.
Nun versuche ich das alles in ein kleines Java Programm umzuwandeln. Nur leider habe ich absulut keine Ahnung wie ich den Algorithmus in Java implementiere.

Java:
import java.util.Scanner;

public class Geldscheine {
  public static void main(String[] args) {
  System.out.println("Den zu stueckelnden Betrag bitte eingeben");
  java.util.Scanner scanner = new java.util.Scanner(System.in);
  
int betrag = scanner.nextInt();
  

double geldschein = 1;
       
   
}

soweit bin ich bis jetzt. Und das is ja eigentlich nichts. Aber ich tue mich extrem schwer diesen Algorithmus halt zu implemantieren. Kann mir da bitte jemand Helfen und mir bei der Lösung dieses Problems helfen?
 
T

theGoodGuy

Gast
Die Anzahl pro Wert.

Also wäre schön wenn in der Ausgabe dann steht welche Anzahl verwendet wurde. Scheine/Münzen die nicht gebraucht wurden brauchen nicht mit aufgelistet werden.(zB:0*500+1*200)

Bsp: Der Betrag 450:

450 = 2*200 + 1*50

aber das ist ja denke net so das problem bei mir gerade ^^
Die Ausgabe über println (".....") dürfte denke ich mal net so schwer sein.
 

Final_Striker

Top Contributor
du ziehst vom dem betrag so lange es geht (betrag > 0) immer wieder den höchsten schein, in deinem fall 500, ab.
danach gehst du zu dem nächst kleinerem schein über usw. bis der betrag = 0 ist.

tipp:

für die scheine ein array anlegen und diese dann mit hilfe einer for-schleife durchlaufen. in der for-schleife mit einer while-schleife die scheine so lange anziehen bis der betrag < 0 ist.

damit müsstest du es schaffen. ;-)
 

faetzminator

Gesperrter Benutzer
Am einfachsten machst du ein Array mit den möglichen Beträgen, gehst mit einer for each Schleife durch und teilst den Betrag durch den aktuellen Betrag (500,200,...), mit Modulo kriegst du den Restbetrag. Wenn die Anzahl > 0 ist, gibst du den Betrag und die Anzahl aus. Du könntest die Mengen aber auch in einem Array speichern.
 
T

theGoodGuy

Gast
oha mit arrays habe ich bis jetzt noch net wirklich viel gemacht :>

das mit mod habe ich mir auch schon überlegt.
Könnte vll jemand nen Bsp geben für die erste Überprüfung, zB für die 500 ? Wäre echt sehr hilfreich.
Danke schonmal für eure schnellen Antworten.
 

Marco13

Top Contributor
Nimm noch Beschränkungen für die verfügbare Anzahl der jeweiligen Scheine dazu, dann wird's interessant :D
 
T

theGoodGuy

Gast
ich will ja auch net den ganzen Code, der nützt mir am Ende nicht wirklich viel, da ich das ganze ja auch verstehen will/muss.
Wollte mal nen kleines Bsp oder nen guten Ansatz dafür haben. google gibt mir net wirklich viel her(vll suche ich auch nach dem falschen etc :p )
 

faetzminator

Gesperrter Benutzer
Naja der gute Ansatz wär +-10 Zeilen lang und würde den ganzen Code beinhalten...
aber hier Pseudocode:
Code:
mache für alle Einträge im Array:
  berechne Vorkommnis mit / und speichere in lokaler Variable
  berechne Restbetrag mit % und speichere in Betrag
  wenn Vorkommnis (lokale Variable) > 0:
    gib Eintrag + Vorkommnis aus
 

Painii

Bekanntes Mitglied
Bsp: Der Betrag 450:

450 = 2*200 + 1*50

Wie bist du denn darauf gekommen.
Wie würdest du bei einer viel viel größeren Zahl darauf kommen?
Also wenn ich dir die 154235612423 Euro sage, wie kommst du erstmal darauf wieviele 500er du dafür brauchst?

Den gleichen Ansatz kannst du immer wieder benutzen, bis du alles ausbezahlt hast.
 

Leroy42

Top Contributor
Im Prinzip:

Java:
int aktuellerTeilbetrag = 500;
int count = rest/aktuellerTeilbetrag;
System.out.println(count+"*"+aktzuellerTeilbetrag+"€");
rest -= count*aktuellerTeilbetrag;:

und dieses Fragment für alle anderen Geldscheine und -münzen.
 
T

theGoodGuy

Gast
[JAVA=42]
public class Programm24 {
public static void main(String[] args) {
java.util.Scanner q = new java.util.Scanner(System.in);
System.out.println("Bitte Betrag zwischen 1 und 1000 eingeben: ");
int x = q.nextInt(); // Betrag eingeben
int y = x; // Zur Ausgabe eingegebenen Wert sichern
int a = 0; // 500er
int b = 0; // 200er
int c = 0; // 100er
int d = 0; // 50er
int e = 0; // 20er
int f = 0; // 10er
int g = 0; // 5er
int h = 0; // 2er
int i = 0; // 1er
a = (x / 500);
x = (x - (a*500));
b = (x / 200);
x = (x - (b*200));
c = (x / 100);
x = (x - (c*100));
d = (x / 50);
x = (x - (d*50));
e = (x / 20);
x = (x - (e*20));
f = (x / 10);
x = (x - (f*10));
g = (x / 5);
x = (x - (g*5));
h = (x / 2);
x = (x - (h*2));
i = (x / 1);
System.out.println(y +" = " +a +" * 500 " +" + " +b +" * 200 " +" + "
+c +" * 100 " +" + " +d +" * 50 " +" + " +e +" * 20 " +" + " +f
+" * 10 " +" + " +g +" * 5 " +" + " +h +" * 2 " +" + " +i +" * 1 ");

}
}[/code]

so habs nun bisschen anders gemacht ohne Schleife, sondern er geht jeden Wert einzeln durch. Vielleicht nich sonderlich effektiv aber seinen Zweck erfüllt es
 
T

theGoodGuy

Gast
Java:
System.out.println(y +" = " +a +" * 500 " +" + " +b +" * 200 " +" + "
                +c +" * 100 " +" + " +d +" * 50 " +" + " +e +" * 20 " +" + " +f
                +" * 10 " +" + " +g +" * 5 " +" + " +h +" * 2 " +" + " +i +" * 1 ");

Wie kann man das denn machen das er zB nur 1*500 + 1*20 anzeigt bei jetzt beispielsweise 520.

so zeigt er ja nun 1*500 + 0*200 + 0*100... etc
Würde es aber gerne so machen das er nur die anzeigt die auch benutzt werden.
 

Leroy42

Top Contributor
Schon richtig, aber die ganzen Variablen a-i einzuführen,
also für jeden Schein/Münz-betrag eine neue Variable einzuführen, finde ich etwas unsinng.:)))
 
T

theGoodGuy

Gast
und wie macht man das?

in der println Zeile/Ausgabe oder direkt hinter jeder Funktion
 

ARadauer

Top Contributor
und wie macht man das?

in der println Zeile/Ausgabe oder direkt hinter jeder Funktion

ja so wie es halt schon 2-3 mal in dem Thread beschrieben wurde...

Java:
 public static void main(String[] args) {
    	int betrag =777;    	
    	int[] werte = {500, 200, 100, 50, 20, 10, 5, 2, 1};  	   	
    	
    	for(int i = 0; i < werte.length;i++){
    		int anzahl =(int) (betrag/werte[i]);
     		betrag = betrag -anzahl*werte[i];  
    		if(anzahl>0)
        		System.out.println(anzahl +" X "+werte[i]+" Rest: "+betrag);
    	}
    }
 

Bavero

Neues Mitglied
Hi da ich es noch ganz verstanden habe wie man ein eigenes Beitrag öffnet, habe ich es hier gemacht, da mein Problem fast das selbe ist: Ich soll einen KaffeAutomaten bauen der das Rückgeld, wie in der oben genannten aufgabe in münzwerte (2€,1€, 50cent usw)
Habe schon angefangen komme aber nicht richtig mit der rückgeld schleife weiter.


Hier die Klasse:
Java:
package paketKaffeeautomat;

import java.awt.Color;
import java.lang.reflect.Array;
import java.util.ArrayList;

public class Getraenk {
	
	private String auswahl;
	private double preis;
    private double einwurf;
    private double rest;
    ArrayList<Integer> restgeldausgabe= new ArrayList();
    
    
    
	public double getRest() {
		return rest;
	}



	public void setRest(double rest) {
		this.rest = rest;
	}



	public double getEinwurf() {
		return einwurf;
	}



	public void setEinwurf(double einwurf) {
		this.einwurf = einwurf;
	}



	public String getAuswahl() {
		return auswahl;
	}



	public void setAuswahl(String auswahl) {
		this.auswahl = auswahl;
	}



	public double getPreis() {
		return preis;
	}



	public void setPreis(double preis) {
		this.preis = preis;
	}

   public void berechnePreis(double pPreis)
   {
	   rest=einwurf-pPreis;
   }

	public void restgeld()
	{
		//der Datentyp double gibt nicht die komplette Kommazahl aus! Beispiel: 2.10 ist für double 2.1, deshalb wird durch 100 geteilt!
		rest=Math.rint((rest*100)/100.);
		
		
		
		
	//	int i=0;
		//while((rest=Math.rint(rest*100)/100.)/2.0>=1  )
		//{
			
			//System.out.println("2");			
			
			//Hier ein Array, es wird in jedes Fach eine Antwort gelegt
			
			     
			
			
			
			
			restgeldausgabe.add(i=i+1);
		rest=rest-2.0;
			
		}
	
	
	}
}

und hier das dazugehörende Hauptfenster


Java:
package paketKaffeeautomat;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction;

public class Hauptfenster extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JButton btKaffee = null;
	private JButton btCappuccino = null;
	private JButton btEspresso = null;
	private JButton btLatteMacciato = null;
	private JButton btTee = null;
	private JButton btKakao = null;
	private JLabel ibEinwurf = null;
	private JScrollPane spAusgabe = null;
	private JTextArea taAusgabe = null;
	Getraenk einGetraenk=new Getraenk();  //  @jve:decl-index=0:

 
	private JTextField tfEinwurf = null;
	private JCheckBox cbZucker = null;
	private JCheckBox cbMilch = null;
	/**
	 * This is the default constructor
	 */
	public Hauptfenster() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(599, 344);
		this.setContentPane(getJContentPane());
		this.setTitle("");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			ibEinwurf = new JLabel();
			ibEinwurf.setBounds(new Rectangle(198, 14, 97, 17));
			ibEinwurf.setText("EInwurf");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getBtKaffee(), null);
			jContentPane.add(getBtCappuccino(), null);
			jContentPane.add(getBtEspresso(), null);
			jContentPane.add(getBtLatteMacciato(), null);
			jContentPane.add(getBtTee(), null);
			jContentPane.add(getBtKakao(), null);
			jContentPane.add(ibEinwurf, null);
			jContentPane.add(getSpAusgabe(), null);
			jContentPane.add(getTfEinwurf(), null);
			jContentPane.add(getCbZucker(), null);
			jContentPane.add(getCbMilch(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes btKaffee	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtKaffee() {
		if (btKaffee == null) {
			btKaffee = new JButton();
			btKaffee.setBounds(new Rectangle(31, 5, 145, 26));
			btKaffee.setText("Kaffee 1.40€");
			btKaffee.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("Berechnen gedrückt"); // TODO Auto-generated Event stub actionPerformed()
					try
					{
						einGetraenk.setEinwurf(Double.parseDouble(tfEinwurf.getText()));
						
					}
					catch(NumberFormatException einF)
					{
					einGetraenk.setAuswahl("Kaffee");	
					einGetraenk.setPreis(1.40);
					einGetraenk.berechnePreis(einGetraenk.getPreis());
					if(einGetraenk.getPreis()<=0)
					{
						taAusgabe.append("Bitte werfen sie 1,40€ in den Automaten");
						//geld einwerfen!
					}
					if(einGetraenk.getPreis()<1.40)
					{
					//das Geld reicht nicht für Kaffee!
					taAusgabe.append("Das Geld  reicht nicht für Kaffee");
					
					}
					}
					
					if(einGetraenk.getPreis()>=1.40)
					{
					taAusgabe.append("Sie haben Kaffe gewählt, der Preis beträgt: "+einGetraenk.getPreis()+"€"+"\n");
					taAusgabe.append("Ihr Restgeld ist: "+einGetraenk.getRest()+"\n");
					einGetraenk.restgeld();
					taAusgabe.append("Ausgabe Anzahl 2 Euromünzen: "+einGetraenk.restgeldausgabe.get(0));
				/*	taAusgabe.append("Ausgabe Anzahl 1 Euromünzen:"+einGetraenk.restgeldausgabe.get(1));
					taAusgabe.append("Ausgabe Anzahl 50 Centmünzen:"+einGetraenk.restgeldausgabe.get(2));
					taAusgabe.append("Ausgabe Anzahl 20 Centmünzen:"+einGetraenk.restgeldausgabe.get(3));
					taAusgabe.append("Ausgabe Anzahl 10 Centmünzen:"+einGetraenk.restgeldausgabe.get(4));
					*/}
						
				
						}
			});
		}
		return btKaffee;
	
	}
	/**
	 * This method initializes btCappuccino	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtCappuccino() {
		if (btCappuccino == null) {
			btCappuccino = new JButton();
			btCappuccino.setBounds(new Rectangle(24, 73, 154, 26));
			btCappuccino.setText("Cappucciono 1,60€");
			btCappuccino.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				try
				{
					einGetraenk.setEinwurf(Double.parseDouble(tfEinwurf.getText()));
					
				}
				catch(NumberFormatException einF)
				{
				einGetraenk.setAuswahl("Cappuccino");	
				einGetraenk.setPreis(1.60);
				einGetraenk.berechnePreis(einGetraenk.getPreis());
				if(einGetraenk.getPreis()<=0)
				{JOptionPane.showMessageDialog(null,"Bitte werfen sie den gewünschten Betrag in den Automaten" );
					//geld einwerfen!
				}
				if(einGetraenk.getPreis()<1.20)
				{
					//das Geld reicht nicht für Tee!
				}
				}
				
				if(einGetraenk.getPreis()>=1.80)
				{
				taAusgabe.append("Sie haben Cappuccino gewählt, de Preis beträgt: "+einGetraenk.getPreis()+"€"+"\n");
				taAusgabe.append("Ihr Restgeld ist: "+einGetraenk.getRest()+"\n");
				einGetraenk.restgeld();
				taAusgabe.append("Ausgabe Anzahl 2 Euromünzen: "+einGetraenk.restgeldausgabe.get(0));
				}
				else {
					
				}
				}
			});
		}
		return btCappuccino;
	}

	/**
	 * This method initializes btEspresso	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtEspresso() {
		if (btEspresso == null) {
			btEspresso = new JButton();
			btEspresso.setBounds(new Rectangle(23, 145, 151, 26));
			btEspresso.setText(" Espresso 1,40€");
			btEspresso.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
			
				
				

					try
					{
						einGetraenk.setEinwurf(Double.parseDouble(tfEinwurf.getText()));
						
					}
					catch(NumberFormatException einF)
					{
					einGetraenk.setAuswahl("Espresso");	
					einGetraenk.setPreis(1.40);
					einGetraenk.berechnePreis(einGetraenk.getPreis());
					if(einGetraenk.getPreis()<=0)
					{
						taAusgabe.append("Bitte werfen sie 1,40€ in den Automaten");
						//geld einwerfen!
					}
					if(einGetraenk.getPreis()<1.40)
					{
					//das Geld reicht nicht für Espresso!
					taAusgabe.append("Das Geld  reicht nicht für Espresso");
					
					}
					}
					
					if(einGetraenk.getPreis()>=1.40)
					{
					taAusgabe.append("Sie haben Espresso gewählt, de Preis beträgt: "+einGetraenk.getPreis()+"€"+"\n");
					taAusgabe.append("Ihr Restgeld ist: "+einGetraenk.getRest()+"\n");
					einGetraenk.restgeld();
					taAusgabe.append("Ausgabe Anzahl 2 Euromünzen: "+einGetraenk.restgeldausgabe.get(0));
				/*	taAusgabe.append("Ausgabe Anzahl 1 Euromünzen:"+einGetraenk.restgeldausgabe.get(1));
					taAusgabe.append("Ausgabe Anzahl 50 Centmünzen:"+einGetraenk.restgeldausgabe.get(2));
					taAusgabe.append("Ausgabe Anzahl 20 Centmünzen:"+einGetraenk.restgeldausgabe.get(3));
					taAusgabe.append("Ausgabe Anzahl 10 Centmünzen:"+einGetraenk.restgeldausgabe.get(4));
					*/}
					
				
				
				}
			});
			
				
				
				
				
				
			} 
			
			
			
			
			
		
		return btEspresso;
	}

	/**
	 * This method initializes btLatteMacciato	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtLatteMacciato() {
		if (btLatteMacciato == null) {
			btLatteMacciato = new JButton();
			btLatteMacciato.setBounds(new Rectangle(24, 185, 153, 26));
			btLatteMacciato.setText("Latte Macciato 1,80€");
			btLatteMacciato.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					try
					{
						einGetraenk.setEinwurf(Double.parseDouble(tfEinwurf.getText()));
						
					}
					catch(NumberFormatException einF)
					{
					einGetraenk.setAuswahl("Latte Macciato");	
					einGetraenk.setPreis(1.80);
					einGetraenk.berechnePreis(einGetraenk.getPreis());
					if(einGetraenk.getPreis()<=0)
					{
						taAusgabe.append("Bitte werfen sie 1,80€ in den Automaten");
						//geld einwerfen!
					}
					if(einGetraenk.getPreis()<1.80)
					{
					//das Geld reicht nicht für Latte Macciato!
					taAusgabe.append("Das Geld  reicht nicht für Latte Macciato");
					
					}
					}
					
					if(einGetraenk.getPreis()>=1.80)
					{
					taAusgabe.append("Sie haben Latte Macciato gewählt, de Preis beträgt: "+einGetraenk.getPreis()+"€"+"\n");
					taAusgabe.append("Ihr Restgeld ist: "+einGetraenk.getRest()+"\n");
					einGetraenk.restgeld();
					taAusgabe.append("Ausgabe Anzahl 2 Euromünzen: "+einGetraenk.restgeldausgabe.get(0));
				/*	taAusgabe.append("Ausgabe Anzahl 1 Euromünzen:"+einGetraenk.restgeldausgabe.get(1));
					taAusgabe.append("Ausgabe Anzahl 50 Centmünzen:"+einGetraenk.restgeldausgabe.get(2));
					taAusgabe.append("Ausgabe Anzahl 20 Centmünzen:"+einGetraenk.restgeldausgabe.get(3));
					taAusgabe.append("Ausgabe Anzahl 10 Centmünzen:"+einGetraenk.restgeldausgabe.get(4));
					*/}
					
				
				}
			});
		}
		return btLatteMacciato;
	}

	/**
	 * This method initializes btTee	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtTee() {
		if (btTee == null) {
			btTee = new JButton();
			btTee.setBounds(new Rectangle(28, 39, 147, 26));
			btTee.setText(" Tee  1,20€");
			btTee.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("Tee"); 
					try
					{einGetraenk.setEinwurf(Double.parseDouble(tfEinwurf.getText()));
					}
					catch(NumberFormatException einf)
					{
						
					}
					
					einGetraenk.setAuswahl("Tee");
					einGetraenk.setPreis(1.20);
					einGetraenk.berechnePreis(einGetraenk.getPreis());
					if(einGetraenk.getPreis()<=0)
					{
						//geld einwerfen!
					}
					if(einGetraenk.getPreis()<1.20)
					{
						
						//das Geld reicht nicht für Tee!
					}
					if(einGetraenk.getPreis()>=1.20)
					{
					int i=0;
					while(einGetraenk.getPreis()>=1.20)
							{
						
						i=i+(1/2);	
						
						taAusgabe.append("Sie haben Tee gewählt, de Preis beträgt: "+einGetraenk.getPreis()+"€"+"\n");
					taAusgabe.append("Ihr Restgeld ist: "+einGetraenk.getRest()+"\n");
					einGetraenk.restgeld();
					taAusgabe.append("Ausgabe Anzahl 2 Euromünzen: "+einGetraenk.restgeldausgabe.get(0));
			
					
						
							}
						
					}
					
					
					
					
				}
			});
		}
		return btTee;
	}

	/**
	 * This method initializes btKakao	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtKakao() {
		if (btKakao == null) {
			btKakao = new JButton();
			btKakao.setBounds(new Rectangle(25, 110, 151, 26));
			btKakao.setText(" Kakao 1,50€");
			btKakao.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					try
					{
						einGetraenk.setEinwurf(Double.parseDouble(tfEinwurf.getText()));
						
					}
					catch(NumberFormatException einF)
					{
					einGetraenk.setAuswahl("Kakao");	
					einGetraenk.setPreis(1.50);
					einGetraenk.berechnePreis(einGetraenk.getPreis());
					if(einGetraenk.getPreis()<=0)
					{
						taAusgabe.append("Bitte werfen sie 1,60€ in den Automaten");
						//geld einwerfen!
					}
					if(einGetraenk.getPreis()<1.50)
					{
					//das Geld reicht nicht für Kakao!
					taAusgabe.append("Das Geld  reicht nicht für kakao");
					
					}
					}
					
					if(einGetraenk.getPreis()>=1.50)
					{
					taAusgabe.append("Sie haben Kakao gewählt, de Preis beträgt: "+einGetraenk.getPreis()+"€"+"\n");
					taAusgabe.append("Ihr Restgeld ist: "+einGetraenk.getRest()+"\n");
					einGetraenk.restgeld();
					taAusgabe.append("Ausgabe Anzahl 2 Euromünzen: "+einGetraenk.restgeldausgabe.get(0));
			/*		taAusgabe.append("Ausgabe Anzahl 1 Euromünzen:"+einGetraenk.restgeldausgabe.get(1));
					taAusgabe.append("Ausgabe Anzahl 50 Centmünzen:"+einGetraenk.restgeldausgabe.get(2));
					taAusgabe.append("Ausgabe Anzahl 20 Centmünzen:"+einGetraenk.restgeldausgabe.get(3));
					taAusgabe.append("Ausgabe Anzahl 10 Centmünzen:"+einGetraenk.restgeldausgabe.get(4));
				*/	}
					
				}
			});
		}
		return btKakao;
	}

	/**
	 * This method initializes spAusgabe	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getSpAusgabe() {
		if (spAusgabe == null) {
			spAusgabe = new JScrollPane();
			spAusgabe.setBounds(new Rectangle(193, 82, 250, 188));
			spAusgabe.setViewportView(getTaAusgabe());
		}
		return spAusgabe;
	}

	/**
	 * This method initializes taAusgabe	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getTaAusgabe() {
		if (taAusgabe == null) {
			taAusgabe = new JTextArea();
		}
		return taAusgabe;
	}

	/**
	 * This method initializes tfEinwurf	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTfEinwurf() {
		if (tfEinwurf == null) {
			tfEinwurf = new JTextField();
			tfEinwurf.setBounds(new Rectangle(316, 13, 125, 21));
		}
		return tfEinwurf;
	}

	/**
	 * This method initializes cbZucker	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getCbZucker() {
		if (cbZucker == null) {
			cbZucker = new JCheckBox();
			cbZucker.setBounds(new Rectangle(201, 56, 101, 19));
			cbZucker.setText("Mit Zucker");
	if(cbZucker.isSelected())
	{
		taAusgabe.append("Ihr Getränk enthält Zucker");
		
		
	}
		
		
		
		}
		return cbZucker;
	}

	/**
	 * This method initializes cbMilch	
	 * 	
	 * @return javax.swing.JCheckBox	
	 */
	private JCheckBox getCbMilch() {
		if (cbMilch == null) {
			cbMilch = new JCheckBox();
			cbMilch.setBounds(new Rectangle(299, 56, 96, 17));
			cbMilch.setText("Mit Milch");
if(cbMilch.isSelected())
{
taAusgabe.append("Sie haben Ihr Getränk mit Milch genommen");	
}
		
		}
		return cbMilch;
	}

}  //  @jve:decl-index=0:visual-constraint="54,4"

würde mich freuen wennn ihr es mir am bsp eines meiner getränke erklären könntet.

Danke schon mal im vorraus
 

njans

Top Contributor
Java:
public void restgeld()
	{
		// Generell wuerde ich eher mit Cent betraegen rechnen, ist angenehmer
		// Wenn du 3.50 Euro hast, dann machst du daraus 350 Cent
		int restBetrag = (int) (rest * 100);

		// Array der Muenzen in Cent betraegen
		final int[] muenzen = { 200, 100, 50, 20, 10, 5, 2, 1 };

		// Wenn es ueberhaupt restgeld zurueckzugeben gibt
		if (restBetrag != 0)
		{
			for (int j = 0; j < muenzen.length; j++)
			{
				int anzahlMuenzen = 0;

				while (restBetrag / muenzen[j] > 0)
				{
					restBetrag -= muenzen[j];
					anzahlMuenzen++;
				}

				if (anzahlMuenzen > 0)
				{
					System.out.println("Es wurden " + anzahlMuenzen + " mal "
							+ muenzen[j] + "ter Muenzen verwendet.");
				}
			}
		}
		rest = restBetrag;
		System.out.println(rest);
		// Restgeld dann noch ausgeben lassen
	}

Sowas meinst du?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben