Programm umschreiben

Neue Frage »

Auf diesen Beitrag antworten »
Julia Programm umschreiben

Meine Frage:
Ich soll folgendes Programm so umschreiben, dass man bei einer falschen Eingabe nicht immer alle Daten neu eingeben muss, sondern nur die falsche.

String vorname; // Speicherung des Vornamens einer Person
String nachname; // Speicherung des Nachnamens einer Person
String vorwahl; // Speicherung der Vorwahl der Telefonnummer einer Person String durchwahl; // Speicherung der Durchwahl der Telefonnummer einer Person
/* Solange Eingaben nicht korrekt, Kontaktdaten (neu) eingeben */ do {
vorname = readString(); nachname = readString(); vorwahl = readString(); durchwahl = readString();
} while (nameKorrekt(vorname) == false
|| nameKorrekt(nachname) == false
|| vorwahlKorrekt(vorwahl) == false
|| durchwahlKorrekt(durchwahl) == false);
/* Ausgabe der Kontaktdaten */
write(nachname + ", " + vorname); write("Telefonnummer: " + vorwahl + " - " + durchwahl);

Auch ist folgendes Unterprogramm gegeben:

public static boolean nameKorrekt(String eingabe) { boolean eingabeKorrekt = true;
if (eingabe.length() > 0) {
for (int i = 0; i < eingabe.length(); i = i + 1) {
if (eingabe.charAt(i) <= '9' && eingabe.charAt(i) >= '0') {
eingabeKorrekt = false; }
} } else {
eingabeKorrekt = false; }
return eingabeKorrekt; }

Meine Ideen:
Ich war leider relativ lange krank und das ist mein erster Informatikkurs. Die anderen in meiner Gruppe wollen diese Aufgabe nicht machen, da wir nur 25% brauchen und sie meinen die haben wir schon mit der ersten Aufgabe.
Ich finde diese Einstellung ziemlich doof, da ich das Thema ja auch einfach fuer mich verstehen und lernen will.

Ich habe mir gedacht das so abzuaendern:
if(nameKorrekt(var)){"var==readString()}

Also mit allen Angaben nach /* Solange Eingaben nicht korrekt, Kontaktdaten (neu) eingeben */ do {...

Das wuerde ich dann auch in : wenn eingabe nicht korrekt, diese erneut eingeben

Meine Frage ist nun ob ich nach dem while noch etwas aendern muss. Da weiss ich dann naemlich ehrlich gesagt gar nicht wie man das machen soll. Haette eigentlich gedacht mein Ansatz reicht, aber andererseits erscheint mir die Loesung etwas einfach und kurz.
 
Auf diesen Beitrag antworten »
Karlito

Hallo Julia,

die Einstellung ist tatsächlich ziemlich doof! Mein Beileid für diese Gruppe.

Ich würde es so machen, dass ich mir Variablen mitführe, welche speicher, welche Eingaben bereits korrekt sind. Hier der Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
String vorname;   // Speicherung des Vornamens einer Person
String nachname;  // Speicherung des Nachnamens einer Person
String vorwahl;   // Speicherung der Vorwahl der Telefonnummer einer Person
String durchwahl; // Speicherung der Durchwahl der Telefonnummer einer Person

//Variablen zur Speicherung, welche Daten bereits korrekt eingegeben wurden
boolean bNameKorrekt = false;
boolean bNachameKorekt = false;
boolean bVorwahlKorrekt = false;
boolean bDurchWahlKorrekt = false;

/* Solange Eingaben nicht korrekt, Kontaktdaten (neu) eingeben */ 
do {
	vorname = readString();
	nachname = readString();
	vorwahl = readString();
	durchwahl = readString();

	bNameKorrekt = nameKorrekt(vorname);
	bNachameKorekt = nameKorrekt(nachname);
	bVorwahlKorrekt = vorwahlKorrekt(vorwahl);
	bDurchWahlKorrekt = durchwahlKorrekt(durchwahl);
} while (
	bNameKorrekt == false
	|| bNachameKorekt == false
	|| bVorwahlKorrekt == false
	|| bDurchWahlKorrekt == false
);
/* Ausgabe der Kontaktdaten */
write(nachname + ", " + vorname); write("Telefonnummer: " + vorwahl + " - " + durchwahl);


Bitte in Zukunft die [code]-Umgebung nutzen und die Programmiersprache mit angeben.

Gruß,

Karlito
 
Neue Frage »
Antworten »


Verwandte Themen