Rechenprogramm/schleife

Status
Nicht offen für weitere Antworten.

Unikate

Aktives Mitglied
hi.

ich will das am ende meines programmes

char schleife;
boolean yes,no;

System.out.println("eine neue rechnung durchführen?");
schleife=(char)readInt();

if (schleife=yes)
PROGRAMM NEUSTARTEN(Befehl?)

if (schleife=no)
System.exit(0);


was mach ich falsch????
danke!!!!
 
S

SlaterB

Gast
if (schleife=yes)
if (schleife==yes)

yes und no sind nicht initialisierte Variablen, die kannst du nicht benutzen,
als boolean kannst du denen entweder true oder false zuweisen,

welcher char soll aber == einem boolean sein?
was soll der User überhaupt eintippen, 'y' oder 'n'?
dann musst du mit entsprechenden chars vergleichen,
was passiert eigentlich wenn weder das eine noch das andere eingetippt wird?
 

Unikate

Aktives Mitglied
kann ich yes und no dann datentyp char oder eher string zuweisen?
was bedeutet denn das doppel gleichzeichen (==)???
 

Unikate

Aktives Mitglied
String schleife;

schleife=In.readString();

if (schleife=="y") {
Runtime.getRuntime();
}
if (schleife=="n"){
System.exit(0);
}


}


so?
 

Unikate

Aktives Mitglied
ich glaube dadurch dass ich erst 3 wochen programmiere in der uni, fehlen mir einfach die grundkenntnisse um sowas zu schnallen oder eigene ideen einzubauen
 

eRaaaa

Top Contributor
ehrlich gesagt weiss ich ganricht was du genau machen möchtest (irgendwie ist der satz unvollständig ?? )....
ich will das am ende meines programmes ......was mach ich falsch????

beschreib doch nochmal was du machen möchtest
(also was soll der user eingeben, was soll dann passieren etc.)
 

Unikate

Aktives Mitglied
Ziel: bruttopreis in cent pro kg eingeben und grammanzahl.
das ganze umrechnen in euro pro kilo
am ende des programmes will ich dass der user eine eingabe "y" oder "n" macht , ob er ein erneute rechnung durchführen will.wenn ja, programm wird erneut von oben abgearbeitet. wenn nein, console beenden/programm beenden



public class Bananen {

//konstante Zahl
public static float steuer = 1.07F;

public static void main (String args[]) {

//Deklaration von Variablen
int bruttokilopreis,gewicht;
float bruttopreis, nettopreis;
String schleife;

//Wert einlesen
System.out.println("Geben Sie den Bruttopreis pro kg in Cent ein: ");
bruttokilopreis= In.readInt();

if (bruttokilopreis<0){
System.exit(0);
}

System.out.println("Geben Sie das Gewicht in Gramm ein: ");
gewicht= In.readInt();

//Umrechnung Cent -> €; g -> Kg
bruttopreis= (bruttokilopreis/100F) * (gewicht/1000F);

//Rundung; Komma um 2 Stellen nach rechts verschieben
bruttopreis= Math.round (bruttopreis*100);
bruttopreis/=100;

// Ausgabe
System.out.println("Der Bruttopreis beträgt: " + bruttopreis + " Euro");

// Steuer vom Bruttopreis rausrechnen
steuer= bruttopreis / steuer;
steuer= Math.round(steuer*100);
steuer/=100;
steuer= bruttopreis - steuer;
steuer=Math.round(steuer*100);
steuer/=100;

//Ausgabe
System.out.println("Die Mehrwertsteuer beträgt: " + steuer + " Euro");

//Subtraktion
nettopreis= bruttopreis-steuer;
nettopreis=Math.round(nettopreis*100);
nettopreis/=100;

//Ausgabe
System.out.println("Der Nettopreis beträgt: " + nettopreis + " Euro");

//Programmende oder Neustart
System.out.println("Wollen Sie eine neue Rechnung durchführen?");

schleife =In.readString();

if ("y".equals(schleife)) {
Runtime.getRuntime();
}
if ("n".equals(schleife)) {
System.exit(0);

}

}

}
 

eRaaaa

Top Contributor
gibt sicherlich jetzt mehrere möglichkeiten, würde in dem fall vllt einfach while-schleifen nutzen :) (unschön ??? )
Java:
public class Bananen {

//konstante Zahl
public static float steuer = 1.07F;

public static void main(String[] args) {
		// Deklaration von Variablen
		int bruttokilopreis, gewicht;
		float bruttopreis, nettopreis;
		Scanner in = new Scanner(System.in);
		while (true) {
			boolean wrongInput = true;
			// Wert einlesen
			System.out
					.println("Geben Sie den Bruttopreis pro kg in Cent ein: ");
			bruttokilopreis = in.nextInt();

			if (bruttokilopreis < 0) {
				System.exit(0);
			}

			System.out.println("Geben Sie das Gewicht in Gramm ein: ");
			gewicht = in.nextInt();

			// Umrechnung Cent -> €; g -> Kg
			bruttopreis = (bruttokilopreis / 100F) * (gewicht / 1000F);

			// Rundung; Komma um 2 Stellen nach rechts verschieben
			bruttopreis = Math.round(bruttopreis * 100);
			bruttopreis /= 100;

			// Ausgabe
			System.out.println("Der Bruttopreis beträgt: " + bruttopreis
					+ " Euro");

			// Steuer vom Bruttopreis rausrechnen
			steuer = bruttopreis / steuer;
			steuer = Math.round(steuer * 100);
			steuer /= 100;
			steuer = bruttopreis - steuer;
			steuer = Math.round(steuer * 100);
			steuer /= 100;

			// Ausgabe
			System.out.println("Die Mehrwertsteuer beträgt: " + steuer
					+ " Euro");

			// Subtraktion
			nettopreis = bruttopreis - steuer;
			nettopreis = Math.round(nettopreis * 100);
			nettopreis /= 100;

			// Ausgabe
			System.out.println("Der Nettopreis beträgt: " + nettopreis
					+ " Euro");

			// Programmende oder Neustart
			while (wrongInput) {
				System.out
						.println("Wollen Sie eine neue Rechnung durchführen? 'y' oder 'n' ");
				String input = in.next();
				if ("n".equals(input))
					System.exit(0);
				else if ("y".equals(input))
					wrongInput = false;
				else System.out.println("Falsche Eingabe");
			}
		}

	}
}
 

Unikate

Aktives Mitglied
danke erstmal ich schau mir gleich mal an was die einzelnen schritte bedeuten
while schleifen hatten wir noch nich

was ist denn"Scanner in = new Scanner(System.in);"???
 

eRaaaa

Top Contributor
ahhh, das hatte ich eingebaut zum testen. habs vergessen wieder abzuändern. du kannst eig. dein [c]In.readInt();[/c] wieder einbauen wenn du magst :) das ist nur leider keine standard java klasse, daher gings bei mir halt nicht. das wird eine hilsklasse von deiner uni/schule etc. sein

in.nextInt(); also wieder zu In.readInt();
ändern :D
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben