Varibalen automatisch in Schleife erstellen oder anderen Lösungsvorschlag

trophy

Mitglied
Hallo zusammen.
Ich hab mir in den letzten Monaten schon viele Tips durch Lesen in eurem Forum holen können, doch nun find ich nichts, was mein Problem abdeckt.
Ich soll den Benutzer vor die Wahl stellen, wieviele Werte er eingeben möchte, jeden Wert einzelnd abfragen und danach mit Hilfe eines "JoptionPane.showConfirmDialog" wieder fragen, ob er nun die Eingabe beenden will, oder weitermachen will.
Die eingegebenen Werte (Double) soll ich Dann miteinander verrechnen(Mittelwert, maximum, minimum und Summe).
So ich hab mir nun folgendes gedacht:
Eine whileschleife, die fortläuft, wenn der Benutzer im JoptionPane.showConfirmDialog "Ja" auswählt.
[JAVA=42]

import javax.swing.JOptionPane;

public class rechner {
public static void main(String[] args){

double summe;
summe=0;
int i;
i = 0;
while (i==0){
i = JOptionPane.showConfirmDialog(null, "Wollen Sie einen weiteren Wert Eingeben?");

if(i==0){
double wert = Double.parseDouble( JOptionPane.showInputDialog("Bitte geben sie den naechsten Wert ein"));

summe = 5 + wert;
}
else if (i==1){
break;
}
}
JOptionPane.showMessageDialog(null,"Die Summe ist : " +summe);
}
}
[/code]

So hier hab ich nun Versucht die Summe zu berechnen, aber er nutzt immer nur die letzte eingegebene Zahl ,was ja auch irgentwie logisch ist.
Nun hab ich mir gedacht, es wäre perfekt, wenn die Schleife bei jeder neuen Eingabe dem Wert eine Variable z.B x1,x2...xX erstellen würde. Dann könnt ich einfach nach dem Maximum bzw. minimum Fragen und auch besser Addieren und nachher durch die Anzal der generierten Variabeln Teilen.
Ein anderer Vorschlag für das Berechnen der Summe wäre, nach jeder Schleifenwiederholung den Wert irgentwie "aus der Schleife herraus zu holen".
Da ich noch nicht wirklich eine Ahnung von Java habe und meine Aufgaben bis jetzt mehr oder weniger durch langes suchen im Netz gelöst habe (was diesmal zu keinem Ergebnis führt), hoffe Ich, dass ihr mir weiterhelfen könnt.
Vielen Dank
 

VfL_Freak

Top Contributor
Moin,

So hier hab ich nun Versucht die Summe zu berechnen, aber er nutzt immer nur die letzte eingegebene Zahl ,was ja auch irgentwie logisch ist.

Logisch, da Du auf summe nie aufaddierst, sondern immer nur den letzten Wert schreibst :D
Versuch es mal so:
Java:
summe += (5 + wert);  // +=  anstatt nur =

Gruß
Klaus
 

trophy

Mitglied
Danke schonmal an euch. Durch den Tip von VfL_Freak klappt das schonmal mit der Summe. (Was bringen die Klammer um das "5+ wert" ?)

Ich werd mich dann jetzt nach dem Stichwort Liste umschauen, da ich vorher nicht abfrage, wieviele Eingaben der Benutzer machen möchte.
An der Stelle auch ein Danke an Sonecc.
Gruß trophy
 

trophy

Mitglied
So ich hba jetzt alles hinbekommen ohne irgentwelche Listen oder Arrays zu nutzen.
Ein riesieges DANKE an euch. :toll:
Gruß trophy
 

Andi_CH

Top Contributor
Oh schön - jetzt währe es für deine Nachfolger noch nett, wenn du den lauffähigen Code hier postest ;-)
Schön eingerückt und so ....
 

trophy

Mitglied
Ich verspreche, dass ich das am Samstag kurz nach 12 mache, denn dann kann ich nicht mehr dafür angeschissen werden ;).

Eine Frage hab ich doch noch. In der Aufgabenstellung steht, dass man auch Kommazahlen eingeben können soll. Aber die muss mann bei dem JOptionPane.showInputDialog doch sowiso immer mit einem "Punkt" anstatt einem "Komma" eingeben. Richtig?

Sorry das ich den Code dann erst hier reinstelle, aber ich hab keine Lust deshalb ohne Punkte zu Enden

Gruß trophy
 

Andi_CH

Top Contributor
Code lieber später als nie :) aber leider enden oft Threads ohne die Lösung und das ist schade.

Kommazahlen werden im Deutschsprachigen Raum mit . geschrieben. Da bin ich nicht der Guru, aber die Parser schaffen das bei richtiger Einstellung (Ich weiss nicht warum man von Kommazahlen spricht ;-) )
 

Andi_CH

Top Contributor
Ich präzisiere ... "meistens" - oder stimmt nicht mal das?
Also in der Schweiz ist es so - ich sag das nur, dass ich sicher einmal recht habe :lol:
 

VfL_Freak

Top Contributor
Moin,

ok ... in der Schweiz ...

Aber ist das wirklich deutschsprachiger Raum ???:L???:L:lol:

Gruß
Klaus
 
Zuletzt bearbeitet:

Andi_CH

Top Contributor
ok ... in der Schweiz ...

Aber ist das wirklich deutschsprachiger Raum ???:L???:L:lol:

Wir sind doch die Welt! :toll: - Oh, doch nicht? ;(

übrigens spricht mehr als die Häfte der (einheimischen) Bevölkerung so eine Art Deutsch.
Die französisch sprechenden Romand und die Tessiner sind eine Minderheit ...

Egal, der Parser schafft das sicher ;-)
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
ja ja ..... "und wer hat's erfunden??" ... :D

Anbei mal die XP-Regionaleinstellungen für die Schweiz - zumindest mit dem '.' hast Du ja Recht ;)
Aber was sollen die Hochkommata :eek:

Gruß
Klaus
 

Anhänge

  • Regionaleinstellungen.jpg
    Regionaleinstellungen.jpg
    41,7 KB · Aufrufe: 36

Andi_CH

Top Contributor
Hm, also bei meinem Win7 ist das Dezimaltrennzeichen defaultmässig auf . Einstellung Deutsch(Schweiz)

Keine Ahnung was in der Grundschule unterrichtet wird ...

EDIT: Die Schweizerpresse verwendet "," ....

Der TagesAnzeiger schreibt

... eine Neuverschuldung von 80,2 Milliarden Euro vorgesehen. Das sind 5,6 Milliarden Euro ...
 
Zuletzt bearbeitet:

trophy

Mitglied
Hier meine Lösung.
Ich weiss man könnte den Code von der Länge her mindestens um 70% eingekürzen, aber Ich kann mich so besser zurechtfinden.

Java:
package grundlagenuebungen;
import javax.swing.JOptionPane;

public class Statistics {
	public static void main(String[] args){
		
		
		 double summe;
		 summe=0;
		 int i;
		 i = 0;
		 double summeg;
		 summeg = 0;
		
		int berechnung = Integer.parseInt( JOptionPane.showInputDialog("Bitte geben sie ein, was berechnet werden soll: 1=Mittelwert; 2=maximaler Wert; 3=minimaler Wert; 4=Summe."));
		
		// Eingabe des ersten Wertes
		double wert1 = Double.parseDouble( JOptionPane.showInputDialog("Bitte geben sie den ersten Wert ein"));
		
		// Eingabe der Weiteren Werte mit HIlfe einer Whileschleife
		
		
		// Berechung des Mittelwert
		if (berechnung ==1){
			double anzahl;
			anzahl = 1; // wegen "wert1"
			double mittelwert;
			mittelwert = 0;
			while (i==0){
				i = JOptionPane.showConfirmDialog(null, "Wollen Sie einen weiteren Wert Eingeben?");
				
				if(i==0){
					double wert = Double.parseDouble( JOptionPane.showInputDialog("Bitte geben sie den naechsten Wert ein"));
			
					summe += (+ wert);
					anzahl += (+1);
				}
					else if (i==1){
						break;
					}
			}
			summeg = summe +wert1;
			// durch die nazahl der eingegebenen Werte muss noch geteilt werden !!!!!!!!!!!!!!!!!!!!
			mittelwert = summeg / anzahl;
			JOptionPane.showMessageDialog(null,"Die Mittelwert ist : " +mittelwert);
		}
		// Berechung des maximalen Wert
		double maximum ;
		maximum = wert1;
		if (berechnung ==2){
			while (i==0){
				i = JOptionPane.showConfirmDialog(null, "Wollen Sie einen weiteren Wert Eingeben?");
				
				if(i==0){
					double wert = Double.parseDouble( JOptionPane.showInputDialog("Bitte geben sie den naechsten Wert ein"));
			
					if (wert > maximum) {
	                    maximum = wert;}
				}
					else if (i==1){
						break;
					}
			}
			 JOptionPane.showMessageDialog ( null, "Der groesste eingegebene Wert beträgt:" +  maximum  );
			
		}
		// Berechung des minimalen Wert
		double minimum ;
		minimum = wert1;
		if (berechnung ==3){
			while (i==0){
				i = JOptionPane.showConfirmDialog(null, "Wollen Sie einen weiteren Wert Eingeben?");
				
				if(i==0){
					double wert = Double.parseDouble( JOptionPane.showInputDialog("Bitte geben sie den naechsten Wert ein"));
			
					if (wert < minimum) {
	                    minimum = wert;}
				}
					else if (i==1){
						break;
					}
			}
			 JOptionPane.showMessageDialog ( null, "Der kleinste eingegebene Wert beträgt: " +  minimum  );
			
		}
		// Berechnung der Summe
		else if (berechnung ==4){
			
			
				while (i==0){
					i = JOptionPane.showConfirmDialog(null, "Wollen Sie einen weiteren Wert Eingeben?");
					
					if(i==0){
						double wert = Double.parseDouble( JOptionPane.showInputDialog("Bitte geben sie den naechsten Wert ein"));
				
						summe += (+ wert);
					}
						else if (i==1){
							break;
						}
				}
				summeg = summe +wert1;
				JOptionPane.showMessageDialog(null,"Die Summe ist : " +summeg);
			
		}
	}
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Luk10 Globale (semi-finale) Varibalen Java Basics - Anfänger-Themen 9
Luk10 Methode: Varibalen Deklarieren Java Basics - Anfänger-Themen 8
S HILFE Wie stelle ich die Path Varibalen wieder ein Java Basics - Anfänger-Themen 4
O ansprechen von varibalen Java Basics - Anfänger-Themen 8
H Automatisch Folgen? Java Basics - Anfänger-Themen 1
T TextField Breite automatisch gebunden Java Basics - Anfänger-Themen 8
S Personalnummer automatisch generieren Java Basics - Anfänger-Themen 11
P Variablen HttpResponse.getBody() wird automatisch org.json Object und kann nicht zu json.simple Object gecastet werden? Java Basics - Anfänger-Themen 7
J CMD schließt sich automatisch Java Basics - Anfänger-Themen 5
P Arrays "automatisch" erstellen lassen Java Basics - Anfänger-Themen 12
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
P Array wird automatisch überschrieben Java Basics - Anfänger-Themen 3
D Ich suche nach einer Möglickeit den Webseiten Inhalt per Java zu analysieren Automatisch Java Basics - Anfänger-Themen 3
F Interface JFrame mit if-Abfrage automatisch schließen lassen? Java Basics - Anfänger-Themen 3
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
S Dialogfeld nach 5 Sek automatisch öffnen Java Basics - Anfänger-Themen 15
D Einer Variable automatisch Zahlen hinzuaadieren Java Basics - Anfänger-Themen 3
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
I Automatisch Verzeichnis erstellen bei File erstellen Java Basics - Anfänger-Themen 5
J Sequenz diagram automatisch erstellen / Ablaufdiagramm Java Basics - Anfänger-Themen 0
G Alle Objekte und Variablen automatisch ausgeben Java Basics - Anfänger-Themen 7
A Klassen welche Klassen importiert Eclipse automatisch Java Basics - Anfänger-Themen 2
N Sequenzdiagamm automatisch erstellen Java Basics - Anfänger-Themen 1
S JComboBox automatisch füllen Java Basics - Anfänger-Themen 3
B Erst lesen: Automatisch Texteingabe bestätigen Java Basics - Anfänger-Themen 6
K Methoden Automatisch nach unten scrollen Java Basics - Anfänger-Themen 2
W Variablen Automatisch static? Java Basics - Anfänger-Themen 3
M Automatisch hoch zählen Java Basics - Anfänger-Themen 8
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
R eine Methode automatisch wiederholen Java Basics - Anfänger-Themen 12
H Regulären Ausdruck automatisch erstellen Java Basics - Anfänger-Themen 5
Viktormk java - int wert automatisch einlesen Java Basics - Anfänger-Themen 8
S Methode automatisch invoked Java Basics - Anfänger-Themen 4
E JTextArea beim Schreiben automatisch vergrößern Java Basics - Anfänger-Themen 7
S OOP Objekte automatisch erzeugen Java Basics - Anfänger-Themen 13
S Mehrere Objekte einer Klasse automatisch erzeugen Java Basics - Anfänger-Themen 15
D Automatisch zweidimensionale Arrays durchiterieren Java Basics - Anfänger-Themen 2
D Letztes Änderungs-Datum als Version automatisch eintragen Java Basics - Anfänger-Themen 5
A Downcast automatisch? Java Basics - Anfänger-Themen 17
T methode mehrfach automatisch ausfuehren Java Basics - Anfänger-Themen 6
M Vererbung Objekt automatisch einem Set zuordnen... Java Basics - Anfänger-Themen 7
A Input/Output Datei automatisch erstellen. Java Basics - Anfänger-Themen 29
ruutaiokwu properties values automatisch escapen ??? Java Basics - Anfänger-Themen 3
J eclipse kommentar nicht automatisch löschen Java Basics - Anfänger-Themen 3
T Datenbank automatisch erzeugen beim ersten Start Java Basics - Anfänger-Themen 6
M JFrame automatisch ausrichten Java Basics - Anfänger-Themen 3
G Variablen automatisch erstellen.. Java Basics - Anfänger-Themen 4
J Dateien automatisch per Mail versenden Java Basics - Anfänger-Themen 3
G Ampel automatisch umschalten Java Basics - Anfänger-Themen 18
E Mehrdimensionales Array automatisch befüllen Java Basics - Anfänger-Themen 9
P OOP Automatisch neue Objekte erstellen Java Basics - Anfänger-Themen 14
S Eingabe über Scanner einlesen und automatisch beenden Java Basics - Anfänger-Themen 11
M Datei automatisch erstellen Java Basics - Anfänger-Themen 5
H zustände speichern und beim erneuten programmstart zustände automatisch laden Java Basics - Anfänger-Themen 26
F JAVA_HOME automatisch setzen? Java Basics - Anfänger-Themen 2
X Programm beim Systemstart automatisch ausführen Java Basics - Anfänger-Themen 2
M String und Int Werte automatisch erstellen Java Basics - Anfänger-Themen 5
S UML mit Eclipse automatisch erstellen Java Basics - Anfänger-Themen 5
M Threads automatisch erzeugen Java Basics - Anfänger-Themen 10
X Errechte Werte automatisch in einem Array speichern Java Basics - Anfänger-Themen 11
T Variablennamen automatisch erstellen Java Basics - Anfänger-Themen 6
G Sonderzeichen automatisch ändern lassen Java Basics - Anfänger-Themen 23
J ImageIcon im JLabel automatisch resizen. Java Basics - Anfänger-Themen 6
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
N Programm automatisch schließen Java Basics - Anfänger-Themen 3
M Swing Anwendung - boolean schaltet automatisch auf true Java Basics - Anfänger-Themen 2
L Lokale Variablen automatisch durch Schleife erzeugen Java Basics - Anfänger-Themen 2
L Sonderzeichen automatisch escapen. Java Basics - Anfänger-Themen 7
G JSP-Seite automatisch schließen Java Basics - Anfänger-Themen 4
G Eclipse startet automatisch Fenster. Java Basics - Anfänger-Themen 4
S Attribut beim erzuegen eines Objektes automatisch erhöhen Java Basics - Anfänger-Themen 6
G jtable, zeile automatisch hinzufügen Java Basics - Anfänger-Themen 3
E ScrollBar automatisch scrollen Java Basics - Anfänger-Themen 8
M Spaltengrößen automatisch anpassen mit POI Bibliothek ? Java Basics - Anfänger-Themen 4
M for-Schleife und Variablen automatisch durchlaufen Java Basics - Anfänger-Themen 2
P Automatisch auf die nächst höere zahl runden? Java Basics - Anfänger-Themen 7
J Leere Textfields automatisch mit einem Wert ausfüllen Java Basics - Anfänger-Themen 3
D Editor automatisch starten ? Java Basics - Anfänger-Themen 4
G Dem array automatisch werte von -10 bis +10 zuweisen Java Basics - Anfänger-Themen 6
G automatisch ausrechnen Java Basics - Anfänger-Themen 3
G automatisch speichern beim schliessen eines Spiels Java Basics - Anfänger-Themen 13
X Komponenten automatisch erzeugen Java Basics - Anfänger-Themen 8
X Viele Komponenten automatisch erzeugen Java Basics - Anfänger-Themen 2
A Punkte automatisch verbinden? Java Basics - Anfänger-Themen 3
K Object automatisch initialisiert? Java Basics - Anfänger-Themen 7
R Best Practice Problem mit (einfacher) Doppelt-Schleife Java Basics - Anfänger-Themen 53
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
C Erste Schritte While-Schleife Java Basics - Anfänger-Themen 3
M While-Schleife mit Wartezeit Java Basics - Anfänger-Themen 15
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Ranger229 Endless loop in while Schleife Java Basics - Anfänger-Themen 3
MaZ Quadrat Schleife(Pyramide) Java Basics - Anfänger-Themen 9
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Wie kann diese Schleife beenden Java Basics - Anfänger-Themen 1
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben