# Java Aufgabe



## n-wer (15. Nov 2016)

Hallöchen,
ich habe jetzt seit einem Monat Java in der Uni für Wirtschaftsingenieure und habe etwas über Klassen Objekte Methoden Instanzvariablen Compilieren gehört. 
public class ....
instanzvariablen
methode
methode 
main methode
ok??!!
Der zusammenhang will nicht in meinen Kopf rein und jetzt haben wir eine Aufgabe bekommen !! 
Ich verstehe es nicht !! 
kann jmd die aufgabe lösen ? notepad++ und cmd ! und mir erklären was wie zusammenhängt ?
*Aufgabe:*
Sie sollen ein Java-Programm zur Rechnungserstellung schreiben.Vereinbaren Sie eine Klasse mit folgenden Instanz-Variablen:
- anzahl, UST, betragVorSteuer, betragNachSteuer
- einige Variablen für Waren, die Sie verkaufen
- eine Variable für Meldungen am Bildschirm
Vereinbaren Sie eine Methode, mit der Sie die Berechnung von den Beträgen mit und ohne Umsatzsteuer berechnen.
- Erzeugen Sie mindestens zwei Kundenobjekte, für die Sie jeweils die Berechnungsmethode aufrufen.
Für den Fall das .... Danke


----------



## JCODA (15. Nov 2016)

Wenn du Nachhilfe per TeamSpeak haben möchtest, biete ich sie dir gerne an. Ich verlange 15€/Stunde.


----------



## n-wer (15. Nov 2016)

*Das habe ich geschrieben auf grundlage der antwort eines komilitonen auf diese frage
ich weis nicht wie ich damit rechnen lassen soll (preise mit-und ohne steuer ) wie zeige ich ergebnisse an??*

```
public class Rechnungserstellung {
   // Instanzvariablen
   int anzahl = 0;

   double ust = 0.19;       //Rechnungsvarianten
   double betragVorSteuer = 0;
   double betragNachSteuer = 0;

   int laminatHell = 5 ;       //Ware mit Preis
   int laminatDunkel = 6;
   int laminatGemischt = 7;
  
   String k1 = " Kunde1 ";       //Kunden
   String k2 = " Kunde2 ";
   String k3 = " Kunde3 ";

   String test = "test";

       //Methode
      
     public void berechnen(){
    
     betragVorSteuer = anzahl * laminatHell;           //Preisberechnung
     System.out.println("Betrag ohne Steuer fuer LaminatHell");

     betragNachSteuer = (betragVorSteuer * ust) + betragVorSteuer;
     System.out.println("Betrag mit Steuer fuer LaminatHell");
     betragVorSteuer = anzahl * laminatDunkel;
     System.out.println("Betrag ohne Steuer fuer LaminatDunkel");

     betragNachSteuer = (betragVorSteuer * ust) + betragVorSteuer;
     System.out.println("Betrag mit Steuer fuer LaminatDunkel");

     betragVorSteuer = anzahl * laminatHell;
     System.out.println("Betrag ohne Steuer fuer LaminatGemischt");

     betragNachSteuer = (betragVorSteuer * ust) + betragVorSteuer;
     System.out.println("Betrag mit Steuer fuer LaminatGemischt");   }

       //MainMethode
    
       public static void main (String[] args)  {

       Rechnungserstellung Kunde1 = new Rechnungserstellung();
       Rechnungserstellung Kunde2 = new Rechnungserstellung();
       Rechnungserstellung Kunde3 = new Rechnungserstellung();

       System.out.println(Kunde1.test);
Kunde1.berechnen();
       }
}
```


----------



## Flown (15. Nov 2016)

Bitte Code-Tags verwenden! [code=java]//JAVA CODE HERE !!!!!1111 [/code]


----------



## Xyz1 (15. Nov 2016)

Eins verstehe ich nicht, gilt anzahl für alle/jede zu verkaufende Ware?

Bearbeitung: Ich sehe keine Scanner, das ist löblich.


----------



## Xyz1 (15. Nov 2016)

Ok, mal in leicht geänderter Form:

```
class Rechnungserstellung {
    int anzahl = 15;
    double UST = 0.19;
    LinkedList<Ware> waren = new LinkedList<>(Arrays.asList(
            new Ware("Laminat hell", 5, anzahl, UST),
            new Ware("Laminat dunkel", 6, anzahl, UST),
            new Ware("Laminat Gemischt", 7, anzahl, UST)
    ));

    Rechnungserstellung() {
        druckeWaren();
    }

    final void druckeWaren() {
        for (Ware ware : waren) {
            druckeWare(ware);
        }
    }

    final void druckeWare(Ware ware) {
        System.out.println(ware.name + "\t" + ware.preis + "\t" + anzahl + "\t" + UST + "\t" + ware.betragVorSteuer + "\t" + ware.betragNachSteuer);
    }
}

class Ware {
    String name;
    double preis, betragVorSteuer, betragNachSteuer;

    Ware(String name, double preis, int anzahl, double UST) {
        this.name = name;
        this.preis = preis;
        betragVorSteuer = preis * anzahl;
        betragNachSteuer = betragVorSteuer * UST + betragVorSteuer;
    }
}
```


```
Laminat hell    5.0    15    0.19    75.0    89.25
Laminat dunkel    6.0    15    0.19    90.0    107.1
Laminat Gemischt    7.0    15    0.19    105.0    124.95
```



n-wer hat gesagt.:


> Sie sollen ein Java-Programm zur Rechnungserstellung schreiben.Vereinbaren Sie eine Klasse mit folgenden Instanz-Variablen:
> - anzahl, UST, betragVorSteuer, betragNachSteuer
> - einige Variablen für Waren, die Sie verkaufen
> - eine Variable für Meldungen am Bildschirm
> ...



Das Grüne habe ich für dich erledigt, das Gelbe ist mich ein kann/soll, das Rote habe ich weggelassen.
Daraus sollte jetzt alles andere ersichtlich sein.
Sorry, dass ich private und so weggelassen habe.
Ich bin gespannt, was ihr dazu sagt.


----------



## n-wer (15. Nov 2016)

wir hatten noch kein array/linked list/final oder for
wie sähe es denn ohne aus


----------



## Xyz1 (15. Nov 2016)

So wie dein Ansatz, mit den Variablen, der wäre richtiger.


----------



## n-wer (16. Nov 2016)

und wie rechne ich damit ? oder lasse ergebnisse bezüglich spezieller kunden auf bestimmte ware ausrechnen?
danke für die hilfe


----------



## Xyz1 (16. Nov 2016)

Du hast den Anfang doch schon geschrieben, aber jeder Artikel braucht betragVorSteuer, betragNachSteuer usw. IMO. 

Also du fügst einfach Objektvariablen ein, bis alles passt.

Du weißt, was eine Klasse, Methode usw. ist! 

Vielleicht hilft dir jemand anderes besser.


----------

