Eingabe mit For schleife

Status
Nicht offen für weitere Antworten.

Der-Faule

Mitglied
Hallo und guten Tag Leute :)

Da ich nicht mal wirklich wusste wie ich dieses Thema formulieren sollte, hatte ich auch nich wirklich ne Ahnung, wonach ich suchen soll, also bin ich ehrlich: Ich habe die Suche NICHT benutzt, den Grund hab ich ja schon gesagt^^ (und nein das liegt auch nicht an meinem Namen xD )

So, mein Problem:

Ich möchte, dass ich eine Zahl eingebe, und dann das Programm eine Eingabe macht, so oft wie ich halt da oben eingegeben hab. Ich kriege das zwar bislang so hin, dass ich einfach nur die Zahlen eingeben kann, ohne dass da irgendwas vor steht, allerdings möchte ich das so geregelt haben:

"Geben sie eine Zahl ein:" wird ausgegeben, man gibt die Zahl ein, drückt auf enter und es folgt die nächste Zeile, wo wieder "Geben sie eine Zahl ein:" ausgegeben wird und man die Zahl eingibt usw. Und dass ganze dann halt so oft, wie ich weiter oben eingegeben habe. Habe das bislang mit einer For-Schleife geregelt, und wenn ich jetzt hinschreibe "System.out.println("Geben sie eine Zahl ein"); dann gibt der (jetzt am beispiel wenn man oben 5 eingegeben hat) "Geben sie eine Zahl ein Geben sie eine Zahl ein Geben sie eine Zahl ein Geben sie eine Zahl ein Geben sie eine Zahl ein" aus, und danach kann ich dann was eingeben.

Hat wer ne Lösung?

(ich hoffe ihr könnt mir folgen^^)

MfG Der-Faule
 
G

Gast

Gast
Hallo Fauler,

es ist nicht ganz ersichtlich, was das Ziel ist.

Daher wäre es recht gut, wenn Du den Code, den Du bereits hast einfach einmal postest. Dann kann man vielleicht erkennen, was das Ziel sein soll und wo das Problem liegt.

ein fauler Helfer
 

Der-Faule

Mitglied
No Problemo ;)

Code:
import java.io.*;

class eingabe
{
	public static void main (String args[]) throws IOException
	{
	
	String Zeichenkette;
	int i;
	float price;
	int b;
	
	BufferedReader mull = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Wieviele Gegenstände kaufen sie? "); //hier ist die Abfrage nach dem "Wie oft"
b = Integer.parseInt(mull.readLine());
System.out.println(b + " Gegenstände wollen sie also kaufen."); //das is nur ne bestätigung ohne weitere Bedeutung
System.out.println("_________________________________"); //Trennstrich damits übersichtlich bleibt xD
	
	for(i=0;i<=b-1;i++)
	System.out.println("Geben sie eine Zahl ein:");
         price = Float.parseFloat(mull.readLine());
        System.out.println("Es wurde " +  price + " eingegeben\n");
	
	}
	
}

So wie es jetzt wäre, würde der nach dem Trennstrich "Geben sie eine Zahl ein Geben sie eine Zahl ein Geben sie eine Zahl ein" ausgeben, würde ich das weglassen dann könnt ich ne Zahl eingeben, enter drücken, zahl eingeben, enter drücken und das solange wie ich bei Wie oft angegeben habe...


und ehm... nich über'n code lachen oder so, machs noch nit solange^^
 
G

Guest

Gast
ganz einfach:

um for-Scleifen, if Abfragen usw. immer ne {} machen!
 
G

Guest

Gast
ganz einfach:

um for-Scleifen, if Abfragen usw. immer ein {} machen!
 

Der-Faule

Mitglied
neues Problem, verbunden damit... ich hoffe der Doppelpost geht in Ordnung...

kann ich es irgenwie hinkriegen, dass er dann für jeden einzelnen wert immer ne neue Variable anlegt?
 

Der-Faule

Mitglied
Schonmal herzlichen Dank :D

Code:
	System.out.print(i + ": Geben sie den Preis vom "+i+". Artikel  ein: ");
         //price = Float.parseFloat(mull.readLine());
         prices[i] = Float.parseFloat(mull.readLine());
        System.out.println("   Artikel "+i+" kostet " +  prices[i] + " Euro.");

sooo funktioniert das noch nicht, habe im Deklarationsteil float[] prices; deklariert und jetz sagt er mir "variable prices might not have been initialized"

was hab ich übersehen/vergessen OO
 

Jango

Gesperrter Benutzer
Du hast das Array nicht initialisiert.
Sieht das bei dir so aus?
Code:
float[] prices = new float[10];
Sollte das nicht so sein, lies weiter - in 5 Minuten kann mans nicht begreifen...
 

Der-Faule

Mitglied
Haha yay ich schon wieder :autsch:
Ich will ungern n neuen Thread deswegen erstellen, da es noch hiermit zusammenhängt, und es so übersichtlicher bleibt...

schlagt mich wenn ihr wollt :lol: :toll:

Jetzt meine sehr einfallsreich formulierte Frage: Kann ich Variablen, die ich zwingend IN EINER For-Schleife deklariert habe, auch außerhalb, mit dem letzten Wert den sie hatte benutzen?
Es stellt sich mir nämlich folgendes Problem:

Code:
i=0;
		
		for (i=0;i<=b;i++) 
	    {
	    	fullprize = prices[i]+prices[i+1];
		System.out.println(fullprize); 
		int k;
		k=0;
		 if (fullprize == 10) k++;
		 System.out.println("So oft hat es 10 ergeben: " + k);
	}

So sieht es nämlich wiefolgt aus:

[img=http://img3.imagebanana.com/img/qu68b71q/thumb/programm.png]

Ich spreche auf das "So oft hat es 10 ergeben" an. So wie der code jetzt steht, schreibt er es nach jedem addiertem Ergebnis.

schreibe ich es aber so:

Code:
i=0;
		
		for (i=0;i<=b;i++) 
	    {
	    	fullprize = prices[i]+prices[i+1];
		System.out.println(fullprize); 
		int k;
		k=0;
		 if (fullprize == 10) k++;
		 
	}
System.out.println("So oft hat es 10 ergeben: " + k);
Sagt der mir, dass k möglicherweise noch nicht initialisiert ist halt. Is auch klar, da es ja bislang nur in der For-schleife iist. Deklariere ich k allerdings vor der geschweiften Klammer von der For-Schleife, zeigt der mir diverse Fehlermeldungen von wegen class expected usw... darum die Frage, ob ich außerhalb dieser For-Schleife an den letzten Wert von k drankomme.

Und noch etwas... wie auf dem Bild zu erkennen ist ist ganz am ende dieses java.lang.ArrayIndex.outofbounds blabla dings. Ich denke das hängt mit dem i+1 in der For-Schleife zusammen, da dort ja irgendwann das Feld zusammen ist und er deswegen sucht und blubb und dann halt Fehlermeldung^^ nur fällt mir bei weiß gott nich ein wie ich das umgehen soll >.<

Ach und, bevor jemand ankommt: "Ja passt ja zu deinem Namen, such selbst" oder sowas in der art^^ Wäre ich wirklich faul hätt ich das nicht so...relativ ausschweifend... eh... erklärt... ich glaub ihr wisst was ich meine^^
 

Der-Faule

Mitglied
Der-Faule hat gesagt.:
Deklariere ich k allerdings vor der geschweiften Klammer von der For-Schleife, zeigt der mir diverse Fehlermeldungen wie class expected usw...
Code:
class expected
und
Code:
not a statement
meint er in der zeile wo ichs deklariert hab...
 
S

Shadeo

Gast
Code:
int k = 0;       // <--
      
      for (i = 0; i <= b; i++)
      {
          fullprize = prices[i] + prices[i+1];
          System.out.println(fullprize);
          
          if (fullprize == 10) k++;
      
      }

System.out.println("So oft hat es 10 ergeben: " + k);

Du musst k ganz ausserhalb der Schleife deklarieren, also vor dem "for(..)", nicht zwischen for(..) und {
(wenn ich dich recht verstanden hab)
 

Shadeo

Mitglied
sry wegen doppelpost, kann nicht mehr editieren. Hab mich nun angemeldet

noch was zum thema wegen der Exception:

Ich nehm an du willst in der Schleife die Preise aller Produkte zusammenzählen und in fullprice speichern?

Code:
      for (i = 0; i < b; i++)       // <-- b = Anzahl der Artikel, d.h. du musst von 0 bis (Anzahl Artikel - 1) zählen
      {
          fullprize += prices[i];   // den aktuellen Preis zu fullprice addieren
          System.out.println(fullprize);
         
          if (fullprize == 10) k++;
     
      }
 

Der-Faule

Mitglied
So ich mach meinem Namen jetzt einfach mal alle Ehre und log mich einfach nich ein :autsch:

Zum ersten: Da sagt er mir dann wieder, dass k nicht initialisiert ist... ich denke, weil der Betrag ja in der For-Schleife festgelegt wird.

Zum zweiten: Er schreibt zwar nicht mehr diese Exception, aber er schreibt auch nur noch den jeweiligen Betrag hin :(

Aber trotzdem vielen dank :)

€: oh, ich bin ja ganich ausgeloggt XD
 

Shadeo

Mitglied
Der-Faule hat gesagt.:
Zum ersten: Da sagt er mir dann wieder, dass k nicht initialisiert ist... ich denke, weil der Betrag ja in der For-Schleife festgelegt wird.

"nicht initialisiert" bedeutet, dass die Variable existiert, sie aber noch keinen Wert hat. Dadurch funktioniert k++ nicht (k kann nicht um 1 erhöht werden, weil k halt keinen Wert hat)

Code:
int k = 0;

so kannst du die Variable gleich bei der Deklaration initialisieren (Variable wird erzeugt und erhält gleich den Wert 0)

Code:
int i;

int k = 0; //<--

for(i = 0; i < 10; i++){

   k++; //<--
}

System.out.println(k);

So muss es funktionieren, sonst gibt es irgendwo anders in deinem Code ein Problem. Kannst den ja sonst mal posten

Der-Faule hat gesagt.:
Zum zweiten: Er schreibt zwar nicht mehr diese Exception, aber er schreibt auch nur noch den jeweiligen Betrag hin :(

Was bedeutet "den jeweiligen Betrag"? Was willst du genau ausgeben?

bei meinem Code werden alle Preise zusammengezählt und dann ausgegeben. D.h. am Ende der Schleife hast du die Summe aller Preise. Bei den vorherigen Schleifendurchgängen hast du die Summe von price[0] bis price.

Also zum Beispiel beim 3. Schleifendurchgang (i = 2): fullprize = price[0] + price[1] + price[2]
und diese Summe wird danach gleich ausgegeben
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H For-Schleife bis Index von Eingabe laufen lassen Java Basics - Anfänger-Themen 24
D While Schleife bei Bedarf durch Eingabe stoppen Java Basics - Anfänger-Themen 15
L while-schleife Eingabe Java Basics - Anfänger-Themen 6
B Während Schleife nicht auf Eingabe warten Java Basics - Anfänger-Themen 2
graai Zeichenmustr malen mit Eingabe Java Basics - Anfänger-Themen 7
Torschti Eingabe von Dezimalzahlen (bis zu zwei Kommastellen) Java Basics - Anfänger-Themen 11
T User input in Verbindung mit ChronoUnit anpassen und falls falsche Eingabe getätigtwird Java Basics - Anfänger-Themen 7
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
T sortierung der eingabe nach größe Java Basics - Anfänger-Themen 5
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
S Größte Zahl nach Eingabe der Zahl 0 ausgeben Java Basics - Anfänger-Themen 6
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
A Bei VierGewinnt Eingabe per Buchstabe (a,b,c...) Java Basics - Anfänger-Themen 2
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Eingabe limit Java Basics - Anfänger-Themen 8
brypa Programm mit Eingabe Java Basics - Anfänger-Themen 129
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
D falsche eingabe erkennen Java Basics - Anfänger-Themen 2
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
Hamudi Bachir 2D Array eingabe vom Benutzer Java Basics - Anfänger-Themen 31
S Warum erscheint bei mir "Hallo Welt" und nicht die aktuelle Eingabe? Java Basics - Anfänger-Themen 16
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
B Array bei jeder Eingabe um eins erweitern Java Basics - Anfänger-Themen 3
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
M Nach einer erstmaligen Eingabe, eine zweite Eingabe nur noch gegen bestätigung möglich Java Basics - Anfänger-Themen 2
chocobear26 Interface JOptionPane - Dialog_Fenster zeigt immer vorherige Eingabe an. Java Basics - Anfänger-Themen 4
E JavaFX Taschenrechner Eingabe im Textfield beschränken Java Basics - Anfänger-Themen 2
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
M JTextField nur Zahleneingaben zulassen, eingabe sperren Java Basics - Anfänger-Themen 24
E Timer trotz erwartender Eingabe durchlaufen lassen Java Basics - Anfänger-Themen 11
K falsche Eingabe abfangen Java Basics - Anfänger-Themen 8
N Eingabe erkennen, ob groß oder kleingeschrieben worden ist Java Basics - Anfänger-Themen 22
N Fehlerausgabe bei falscher Eingabe der Users Java Basics - Anfänger-Themen 3
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
O Mehrfache Scanner-Eingabe durch Komma getrennt Java Basics - Anfänger-Themen 6
M String array durch Eingabe begrenzen Java Basics - Anfänger-Themen 7
iman Eingabe von Benutzer Filter machen. Java Basics - Anfänger-Themen 7
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
D Eingabe einscannen, ohne vorher einen Datentypen anzugeben? Java Basics - Anfänger-Themen 1
M Verschiedene Eingabe = Verschiedene Ausgaben Java Basics - Anfänger-Themen 5
H Eingabe Java Basics - Anfänger-Themen 7
F Bedingung für Eingabe Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
Dimax Erste Schritte String Eingabe Prüfen Java Basics - Anfänger-Themen 11
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
B Türme von Hanoi mit einer beliebigen aber gültigen Eingabe lösen Java Basics - Anfänger-Themen 5
J Eingabe Einschränken Java Basics - Anfänger-Themen 1
Zrebna Compiler-Fehler Java-Compiler wird nach 'javac' keyword-Eingabe nicht gestartet (Erste Übung) Java Basics - Anfänger-Themen 18
A Datentypen Unterschiedliche Datentypen in einer Eingabe einlesen Java Basics - Anfänger-Themen 2
D Array via Eingabe befüllen Java Basics - Anfänger-Themen 6
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N Abbrechen einer Eingabe endet im Fehler Java Basics - Anfänger-Themen 3
S Konsolen eingabe Java Basics - Anfänger-Themen 17
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
x-tshainge Bei if (eingabe = = ... ) enter als eingabe nehemen Java Basics - Anfänger-Themen 4
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
S Eingabe in anderer Klasse verwenden Java Basics - Anfänger-Themen 3
T Input/Output Falsche Eingabe ausgeben Java Basics - Anfänger-Themen 3
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
K Eingabe in Array speichern und Ausgeben Java Basics - Anfänger-Themen 9
J Eingabe des Scanners an einer bestimmten Position Java Basics - Anfänger-Themen 6
J Input/Output Den zweiten Output erst nach Eingabe ausgeben Java Basics - Anfänger-Themen 4
S Eingabe auf Richtigkeit und Reihenfolg überprüfen Java Basics - Anfänger-Themen 3
R Java CMD Eingabe verbergen Java Basics - Anfänger-Themen 4
L Eingabe überprüfen Java Basics - Anfänger-Themen 7
M Eingabe des Benutzers Verwenden Java Basics - Anfänger-Themen 9
T Input/Output Int Eingabe auf Zahl überprüfen Java Basics - Anfänger-Themen 30
S Method mit Eingabe abrufen Java Basics - Anfänger-Themen 1
N Operatoren Suchen nach einer bestimmten Eingabe (durch Scanner) Java Basics - Anfänger-Themen 7
M Erste Schritte primzahlen ermitteln, nur zahlen als eingabe erlauben Java Basics - Anfänger-Themen 34
K Überprüfen ob Eingabe ein Float ist Java Basics - Anfänger-Themen 4
G Warum funktioniert das Programm für negative Eingabe nicht? Java Basics - Anfänger-Themen 3
O Erste Schritte Eingabe anweisungen eliminieren Java Basics - Anfänger-Themen 3
G Objekt Instanziierung von Eingabe abhängig machen Java Basics - Anfänger-Themen 5
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
B Interface JTextField Eingabe als String verwenden Java Basics - Anfänger-Themen 3
F Abfrage ob Eingabe eine Zahl ist Java Basics - Anfänger-Themen 3
H Alternative Eingabe Java Basics - Anfänger-Themen 3
L Bei falscher Eingabe soll NaN zurückgegeben werden, Rückgabetyp jedoch double Java Basics - Anfänger-Themen 3
J Methoden Eingabe Methode nur Buchstaben Java Basics - Anfänger-Themen 4
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
H Leere Eingabe in einem array Java Basics - Anfänger-Themen 11
K Input/Output Nullstring als Eingabe Java Basics - Anfänger-Themen 4
M Eingabe im Terminal nicht möglich Java Basics - Anfänger-Themen 20
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
T Input/Output Double und String als Eingabe einlesen Java Basics - Anfänger-Themen 9
N Error bei eingabe eines Punktes Java Basics - Anfänger-Themen 1
M Messandwendung nach Zeit und eigener Eingabe Java Basics - Anfänger-Themen 4
B Problem beim Angeben einer Eingabe Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben