[Java] Spezialisierter Taschenrechner



  • wie schon gesagt, 1. Semester.

    Wir haben noch nicht mal Schleifen durchgenommen, wird aber demnächst geschehen.



  • Und wie genau lautet deine Frage? Denn deine Hausaufgaben wird hier wohl keiner machen. 🤡



  • Hi

    ein bischen die suchfunktion im forum benutzt, hätte zumindest das Thema einlesen und ggf ausgeben erledigt.

    Umrechnen der Zahlenwerte in flot würde ich persönlich vermeiden. Da du die werte ja sowiso in cent einlist. und den punkt zwischen 2ter und 3ter Stelle reinzubekommen ist doch nur ein problem der ausgabe.

    String des Zahlenwertes mindestens 3 zeichen lanng.
    wenn nicht entsprechend erweitern. mit was und wo überlass ich dir.
    Dann den String an der passenden stelle teilen und entsprechend ausgeben. und den punkt, sowie das euro nicht vergessen

    Denn so schöne formatierungs regeln wie cout hat java leider nicht.

    Gruss Termite



  • Ach es gibt doch so viel. Beispielsweise StringTokenizer oder PrintWriter bzw PrintStream, wo sogar ein printf() bei ist.



  • Hi

    Also leute ich bitte euch habt mal bischen gedult mit unserem Freund.

    Also Mettwurzt ich würde dir Empfehlen dein Programme im 1. Semester nach dem EVA Prinzip aufzubauen.
    E = Eingabe
    V = Verarbeitung
    A = Ausgabe

    Also in der Aufgabe steht eigentlich sehr deutlich was deine Eingaben sind, ausserdem solltest du für jede Eingabe eine Varibale deklarieren (das kann sich event. in Zukunft ändern).

    Nun vervarbeitest du deine Varibalen (Eingaben) mit den Formeln die du dafür brauchst.

    Am Ende gibst du die sachen einfach strukturiert aus.

    Eingaben kannst du, wie Griffin schon gesagt hat, mit "BufferedReader in = new BufferedReader(new InputStreamReader(Syste.in))" realisieren.
    Du solltest dir auch angewöhnen die JavaDoc zu benutzen, das hilft verdammt viel am Anfang und auch in Zukunft.

    Ausgaben kannst du mittels System.out.println() realisieren.

    Die Formatierung der Ausgabe würde ich am Ende machen wenn alles klappt, dann kannst du dein QuellCode ja erweitern und verschönern, da lernt man auch viel.

    Zum schluss noch was, diese Aufgabe hat auch nichts mit schleifen zu tun.
    Ich glaube es soll euch nur Zeigen wie ihr recherchiert und eigenständig Quellcode schreibt.

    P.S: Tip von mir, verliebe dich in die JavaDoc, ohne wirst du es schwer haben.

    Bye



  • Mein Senf:

    //Eingabe
    Scanner in = new Scanner(System.in);
    ...
    int nInt = in.nextInt();
    
    // Ausgabe
    float nFloat = 45.2342f;
    System.out.printf("Ich koste %.2f €", nFloat);
    


  • Ich danke euch soweit schonmal, ja dieses Javadoc haben wir uns schonmal angeguggt. Ach schon "quellcode-mäßig" genutzt, also kommentieren lassen.

    Ich werd mich da mal durcharbeiten.

    @ beitrag über mir:

    ist das da oben ne klasse oder was? (was ganz oben steht)



  • Mal n anderes Problem bezüglich einer Eingrenzung:

    public class Testat1
    
    {
    
    	public static void main(String arg[])
    
    	{
    		// Deklaration der Variablen
    		int pin;
    		int betrag;
    
    		// START, Abfrage der PIN, keine Beschraenkung der Laenge
    		System.out.println("##########");
    		System.out.println("Enter PIN:");
    		pin=In.readInt();
    
    		// Abfrage das Betrages welcher abgehoben werden soll, mit Beschraenkung, Low=10 High=1000
    		System.out.println("Welcher Betrag soll abgehoben werden?");
    		betrag=In.readInt();
    
    			// Der Betrag ist kleiner 10 oder groesser 1000 oder gleich 0
    			if(betrag<10 || betrag>1000 || betrag==0)
    				{
    					System.out.println("Betrag ist ungueltig");
    				}
    
    			else
    				{
    
    					// Abfrage wegen Cent und nicht Vielfaches von 10
    					if(betrag==666)
    						{
    							System.out.println("error");
    						}
    
    					// Ausgabe des Betrages in 50,20,10 Euro Scheine
    					System.out.println("Korrekt");
    				}
    
    	}
    
    }
    

    Ich häng an dem letzten Schritt, mit dem Vielfachen von 10 sowie der Umrechnung mit den Euro-Scheinen.

    Ich dachte mir sowas bescheuertes wie:

    betrag/50=n
    

    Das halt "n" die Anzahl der 50er Scheine wäre, aber das wäre sowas von flasch wie überhaupt möglich, weil der Rest ja noch fehlt.



  • also wie ich definieren kann das 10 davon n teiler ist 😕

    edit:

    "Eine Zahl ist durch 10 teilbar genau dann, wenn ihre letzte Ziffer eine 0 ist."

    Diesen Ausdruck muss man irgendwie ja abfragen können, theoretisch.



  • Wie wärs mit Modulo?



  • Oh wie konnt ich das nur vergessen 😃
    1. Vorlesung über Operatoren und ich vergess es 😮

    public class Testat1
    
    {
    
    	public static void main(String arg[])
    
    	{
    		// Deklaration der Variablen
    		int pin;
    		int betrag;
    
    		// START, Abfrage der PIN, keine Beschraenkung der Laenge
    		System.out.println("##########");
    		System.out.println("Enter PIN:");
    		pin=In.readInt();
    
    		// Abfrage das Betrages welcher abgehoben werden soll, mit Beschraenkung, Low=10 High=1000
    		System.out.println("Welcher Betrag soll abgehoben werden?");
    		betrag=In.readInt();
    
    			// Der Betrag ist kleiner 10 oder groesser 1000 oder gleich 0
    			if(betrag<10 || betrag>1000 || betrag==0)
    				{
    					System.out.println("Fehler 1");
    				}
    
    			else
    				{
    
    					// Abfrage wegen Cent und nicht Vielfaches von 10
    					if(betrag%10==0)
    						{
    							System.out.println("ist teilbar durch 10");
    						}
    
    					else
    						{
    							System.out.println("Fehler 2");
    						}
    
    				}
    
    	}
    
    }
    

    Ok, hab das soweit umgeschrieben.

    Nun hab ich halt das Problem mit den Cents'. Ob ich es mit "." oder mit "," schreibe, verweist mich Java auf einen String. Soweit ganz ok, nur will ich das er WENN er sowas findet das irgendwie mit (cast) in eine float konvertiert und es demnach als Fehler interpretiert.

    falls das explizit auf "if" aufbaut, kann ich zu meiner Verteidigung sagen das wir das heute zum ersten mal gehört haben. Und ich ja sowieso nicht so der Programmierer bin @ Sufu [mettwurzt]
    Ich check das noch nicht so mit solch speziellen abfragen, ob das meinetwegen ein string ist oder ähnliches.

    Man möge mir verzeihen.


Anmelden zum Antworten