Was mache ich Falsch??

Status
Nicht offen für weitere Antworten.
W

Wblade

Gast
Ich versuche mich schon eine ganze weile daran, aber ich finde nicht das problem. Ich weiß nicht was ich da falsch mache. Die Schleifen habe ich noch nicht so richtig verstanden. Wäre nett wenn mir jemand zusätzlich, da mal einwenig helfen könnte, das zu verstehen.

Also, muss simples Programm schreiben, welches nach einem Durchlauf fragt ob es wiederholt werden soll. Bei "j" soll es neu starten.
Code:
import java.io.*; 
import java.lang.*; 

class auf3_1 { 
	public static double einlesen() throws IOException { 
	String s; 
	BufferedReader d; 
	d = new BufferedReader(new InputStreamReader(System.in)); 
	s = d.readLine(); 
	double zahl = Double.parseDouble(s); 
	return zahl; 
	}
	public static void main(String[] args) throws IOException { 	
	double mathematik; 
	double physik; 
	double religion; 
	double sport; 
	double durchschnitt; 
	int neustarten;
	do {
	System.out.println("Bitte Noten eingeben!"); 
	System.out.print("Mathematik: "); 
	mathematik = einlesen(); 
	System.out.print("Physik: "); 
	physik = einlesen(); 
	System.out.print("Religion: "); 
	religion = einlesen(); 
	System.out.print("Sport: "); 
	sport = einlesen(); 
	System.out.println("\n\n\n\n");
	durchschnitt = (mathematik + physik + religion + sport)/4; 
	System.out.println("Notendurchschnitt: " + durchschnitt); 
	System.out.println("\n\n"); 
	System.out.print("Neustarten? j / n");
	neustarten = einlesen();
	System.out.print(neustarten);
	}
	while(neustarten = 'j');
	}
}

EDIT: wenn du dich schon mit bbcodes auskennst, dann verwende auch den code tag danke
 

bröggle

Bekanntes Mitglied
warum nimmst du für neustart int und nicht char?(char=character)
denn j als int zahl ist nunmal nicht 'j' als buchstabe!(evtl mit casting)

dann direkt zu deinem Problem:
while(neustarten = 'j'); // ist falsch!

du musst das nehmen:
while(neustarten == 'j'); //-->2== damit es verglichen wird


übrigens:
import java.lang.*;
brauchst du nicht importieren, das wird automatisch gemacht


also ich würde dir evtl empfehlen eine "weiter methode" zu definieren...

ich hoffe ich konnte dir helfen
 

bröggle

Bekanntes Mitglied
wenn du es selber lösen willst, dann augen zu.....























ansonsten augen auf:
Code:
import java.io.*; 
import java.lang.*; //brauchst du nicht

class auf3_1 { 
public static double einlesen() throws IOException { 
String s; 
BufferedReader d; 
d = new BufferedReader(new InputStreamReader(System.in)); 
s = d.readLine(); 
double zahl = Double.parseDouble(s); 
return zahl; 
} 
//eingefügt neue char methode
  public static char weiter() throws IOException { 
  String s; 
  BufferedReader d; 
  d = new BufferedReader(new InputStreamReader(System.in)); 
  s = d.readLine(); 
  char weiter =s.charAt(0); //1.buchstabe
  return weiter; 
  } 


public static void main(String[] args) throws IOException { 
double mathematik; 
double physik; 
double religion; 
double sport; 
double durchschnitt; 
char neustarten; //char
do { 
System.out.println("Bitte Noten eingeben!"); 
System.out.print("Mathematik: "); 
mathematik = einlesen(); 
System.out.print("Physik: "); 
physik = einlesen(); 
System.out.print("Religion: "); 
religion = einlesen(); 
System.out.print("Sport: "); 
sport = einlesen(); 
System.out.println("\n\n\n\n"); 
durchschnitt = (mathematik + physik + religion + sport)/4; 
System.out.println("Notendurchschnitt: " + durchschnitt); 
System.out.println("\n\n"); 
System.out.print("Neustarten? j / n"); 
neustarten = weiter(); //neu weiter!
System.out.print(neustarten); 
} 
while(neustarten == 'j'); //== brauchst du zum vergleichen!!!
} 
}

Viel spaß damit.
Wenn du daraus irgendwann mal ein großes projekt gemacht hast, kannst mich ja in den credits erwähnen...;-)




^-^

p.s.: du solltest noch evtl falsch eingaben überprüfen und filtern(z.b Note Mathematik=a und das Programm verabschiedet sich)
 
G

Guest

Gast
Ich danke Dir. Auf den Gedanken mit Char wäre ich nicht gekommen. Jetzt aber mal eine Verständnissfrage: In meinem Programm benutze ich Zahlenwerte und Buchstaben, da hast du gesagt sollte ich eine Zweite Methode machen. Sollte man dies immer machen, wenn man Buchstaben und Zahlenwerte benutzt oder trifft das jatzt nur hier zu. Gibt es auch andere Möglichkeiten dies zu machen?

Vielen Dank,Du hast mir sehr geholfen. Und hier lernt man wenigstens was :lol:
 

bröggle

Bekanntes Mitglied
hmm, schwere Frage... ich mache mir da meistens keine Gedanken darüber,sondern bastel mir immer 2 Methoden.
einfach um Fehler zu vermeiden... ob das jetzt gegen die Perfomance geht weiß ich nicht, aber ich denke das spielt bei solch einer kleinen Klasse nicht die Rolle.

Evtl wäre es besser, die Methoden zu überladen , denn sie machen ja beide fast dasselbe.(überladen: (also beide heißen gleich nur die Parameter sind anders) z.b (met(char a) und met(int y))


Andere Möglichkeiten:

mit Casting zu arbeiten:jeder char kann auch in int verwandelt werden.
das machst du z.b so:
Code:
public class Test {

	public static void main(String[] args) {
		char c='j';
		int b=(int)c;
		System.out.println(c);
		System.out.println(b);

		
	}
}
Ausgabe:
Dein j wäre also die zahl 106
Das Problem ist bei deinem Programm, dass du parseDouble machst.
und das kommt mit char werten nicht zurecht und macht einen Abbruch.


eine Möglichkeit wäre, dass ganze über eine if abfrage zu lösen...(ich weiß nicht ob das aber in einer methode guter programmierstil ist).
mehr fällt mir nicht ein.


Ich habe dir noch ne kleine Tabelle gebastelt, die dir zu jeder int den passenden char liefert.


Code:
public class ASCII {

	public static void main(String[] args) {
	char buch;	
for(int i=0;i<256;i++){
	buch=(char)i;
	System.out.print(i+": "+buch+"\t");
	if(i%10==0){System.out.println();}
}
		
		
	}
}

So mehr fällt mir auch nicht mehr ein, probier einfach mal ein bisschen rum und schau was klappt und was nicht ;-)
vielleicht fällt den anderen hier ja noch was ein.^-^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Was mache ich in meinem Code falsch. Java Basics - Anfänger-Themen 3
J Was mache ich falsch in meiner Java Anwendung? Java Basics - Anfänger-Themen 11
Z Klassen Error: ';' expected - was mache ich falsch? Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
Silvascus Was mache ich falsch? Java Basics - Anfänger-Themen 15
L Variable an andere Klasse weitergeben - Was mache ich falsch? Java Basics - Anfänger-Themen 2
J Klassen Fehler Datei kopieren - was mache ich falsch Java Basics - Anfänger-Themen 19
A Variablen Was mache Ich falsch? Java Basics - Anfänger-Themen 5
A was mache ich falsch? Java Basics - Anfänger-Themen 3
D Muss ein Applet schreiben was Mittelwerte berechnet nur was mache ich falsch? Java Basics - Anfänger-Themen 11
T Was mache ich hier falsch? Java Basics - Anfänger-Themen 3
D Boolean funktioniert nicht, was mache ich falsch? Java Basics - Anfänger-Themen 6
M Counter erstellen - Was mache ich falsch? Java Basics - Anfänger-Themen 17
S Fehler in Javaprogramm, was mache ich falsch? Java Basics - Anfänger-Themen 9
T Button Dis/Enablen - Was mache ich falsch? Java Basics - Anfänger-Themen 3
S Was mache ich falsch? Java Basics - Anfänger-Themen 4
D Was mache ich falsch beim ScrollPane ? Java Basics - Anfänger-Themen 2
T Was mache ich falsch? File klasse. Java Basics - Anfänger-Themen 3
G Fehler: Illegal Expression. Was mache ich falsch? Java Basics - Anfänger-Themen 4
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
D Guten Tag mache gerade eine Umschulung zum FiSi war leider jetzt 2 Wochen Krank und wir hatten Prozendurale Programmierung. Java Basics - Anfänger-Themen 3
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
G mache aus Test nach sortieren estt oder java aajv Java Basics - Anfänger-Themen 5
K Erste Schritte Wie mache ich weiter? (Spiel-Menü) Java Basics - Anfänger-Themen 9
T Wie mache ich einen Timer der alle 2 sekunden aufgerufen wird? Java Basics - Anfänger-Themen 5
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
B Klassen Wie mache ich das "the java way"? Java Basics - Anfänger-Themen 4
J Wie mache ich ein JFrame modal Java Basics - Anfänger-Themen 30
D Wie mache ich das? Java Basics - Anfänger-Themen 2
F Ich raffs nicht! - Wie mache ich ein einfaches Java-window? Java Basics - Anfänger-Themen 54
H Wie mache ich aus pfad\\unterpfad pfad\unterpfad? Java Basics - Anfänger-Themen 3
S Wie mache ich mir eine universelle Timermethode Java Basics - Anfänger-Themen 20
D Brauche mehr Flexibilität bei der Realisierung und weiss nicht wie ich das mache. Java Basics - Anfänger-Themen 10
S Deserialisieren: alle Objekte ausgeben - wie mache ich das? Java Basics - Anfänger-Themen 2
M Wie mache ich einen Eventdispatcher? Java Basics - Anfänger-Themen 9
Q TextArea - wie mache ich einen Absatz? Java Basics - Anfänger-Themen 9
D Pascal'sche Drreieck. was mache ich in der ausgabe flasch? Java Basics - Anfänger-Themen 5
N Womit mache ich ein menue Java Basics - Anfänger-Themen 2
I Review von euch erwünscht, double Rechnung falsch Java Basics - Anfänger-Themen 34
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
M Dialogbox sofort neustarten, falls aktuelle Eingabe falsch Java Basics - Anfänger-Themen 11
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
O Warum ist meine Antwort falsch? Java Basics - Anfänger-Themen 3
O Warum ist die Auswahl falsch? Java Basics - Anfänger-Themen 4
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R FXMLLoader Pfad falsch`? Java Basics - Anfänger-Themen 4
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
J String wird in GUI falsch ausgegeben Java Basics - Anfänger-Themen 10
A Figur erkennen, aber Abweichung falsch Java Basics - Anfänger-Themen 2
N Javac -version der Befehl ist entweder falsch geschrieben oder...... Java Basics - Anfänger-Themen 8
A Ich habe das Gefühl etwas grundlegendes falsch zu machen Java Basics - Anfänger-Themen 6
L Ist an diesem Befehl irgendwas falsch? Java Basics - Anfänger-Themen 2
M Was ist daran falsch Java Basics - Anfänger-Themen 2
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
L AES - Irgendwas falsch? Java Basics - Anfänger-Themen 0
H Koordinaten gehen falsch ! Java Basics - Anfänger-Themen 13
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Was ist falsch? Java Basics - Anfänger-Themen 2
JavaNewbie2.0 Was ist falsch? Java Basics - Anfänger-Themen 23
D Prozente werden falsch berechnet Java Basics - Anfänger-Themen 8
F for Schleife zählt falsch Java Basics - Anfänger-Themen 6
S Variable wird falsch gesetzt Java Basics - Anfänger-Themen 5
J ArrayList wird in JTable falsch angezeigt Java Basics - Anfänger-Themen 0
D Aktuelles Datum wird falsch ausgegeben Java Basics - Anfänger-Themen 2
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
D Matritzenmultiplikation berechnet Werte falsch Java Basics - Anfänger-Themen 9
J ireport Designer / CSV / Sonderzeichen was läuft falsch Java Basics - Anfänger-Themen 7
W Was ist bei folgendem Code falsch? Java Basics - Anfänger-Themen 5
C Array wird falsch befüllt? Java Basics - Anfänger-Themen 7
L Methoden Histogramm, Methode berechnet falsch. Java Basics - Anfänger-Themen 7
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
J Java rechnet -0.94 + 0.01 falsch Java Basics - Anfänger-Themen 14
J Dekrement läuft offenbar falsch Java Basics - Anfänger-Themen 6
X Warum ist das falsch -.- Java Basics - Anfänger-Themen 4
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
J Java: Was habe ich falsch gemacht? Java Basics - Anfänger-Themen 4
T Input/Output GregorianCalender gibt falsch aus? Java Basics - Anfänger-Themen 4
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
O Zeitmessung falsch Java Basics - Anfänger-Themen 7
C Ausgabe vom Array falsch ? Java Basics - Anfänger-Themen 3
S Mengenklammer falsch, Warum? Java Basics - Anfänger-Themen 6
J BlueJ öffnet package falsch Java Basics - Anfänger-Themen 2
C Extrem einfache Aufgabe falsch beantwortet :$ Java Basics - Anfänger-Themen 6
H Punkte werden falsch verbunden Java Basics - Anfänger-Themen 6
F String wird richtig in konsole geschrieben aber falsch an Methode übergeben Java Basics - Anfänger-Themen 8
K Runnable oder Keyadapter läuft falsch Java Basics - Anfänger-Themen 4
U Attributsnamen korrekt oder falsch? Java Basics - Anfänger-Themen 4
B Bewegung falsch Java Basics - Anfänger-Themen 33
M .jar wird falsch generiert? Java Basics - Anfänger-Themen 9
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben