Erste Schritte Aufgabe Einchecken am Flughafen

Esambler

Mitglied
Also ich besuch eine Schule in der man sehr früh programmieren lernen sollte. Wir werden gerade mit Algorithmen vollgestopft usw. :) Aber ich blicke nicht ganz durch. Wir haben eine Hausübung bekommen und sollen uns ein Thema aussuchen zwischen Arbeit und Überstunden und Einchecken am Flughafen. Ich würde gerne Einchecken am Flughafen nehmen....jedoch ist mein Problem, dass ich mir nur Sachen erlernen kann die ich schon mal vorher gesehen habe. Deshalb bitte ich euch, mir beim Algorithmus und das in Java geschriebene zu Helfen :) Ich brauche 3 Verzweigungen und mind. eine While schleife....
Könnt ihr mir da ev. Helfen? Wäre echt supi! Warsch. ist das für euch nur eine 1minuten sache :)

mfg
 
Zuletzt bearbeitet von einem Moderator:
C

Camino

Gast
Hier macht bestimmt niemand deine Hausübung. Fang mal selber damit an und stell konkrete Fragen, woran es hängt. Dann wird dir auch gerne geholfen...
 

Esambler

Mitglied
Hier macht bestimmt niemand deine Hausübung. Fang mal selber damit an und stell konkrete Fragen, woran es hängt. Dann wird dir auch gerne geholfen...

:) Ja das ist mir schon klar! Aber ich weiß einfach kein while Schleife bzw ob das hier einmal stimmt:

Java:
public class flughafen {
public static void main (String[] args) {

int frei = 0;

if (frei == 0)
System.out.println("noch nicht eingecheckt");
if (frei == 1)
System.out.println("eingecheckt");
}
}

PS: Ich brauch einfach immer Vorlagen zum lernen....ich hab auf dem einfach keinen Untergrund..... ich seh nur immer wie es geht aber nie wo es gemacht ist :(
 
C

Camino

Gast
Vielleicht musst du dir erst mal überlegen, was du erreichen willst. Also, was bedeutet "Einchecken am Flughafen"? Sollen da mehrere Leute einchecken und gezählt werden, wieviele ins Flugzeug rein sind? Soll irgendwann abgebrochen werden, z.B. wenn das Flugzeug voll ist?
 

0x7F800000

Top Contributor
Aber ich weiß einfach kein while Schleife
While-Schleifen sind wohl so ziemlich die einfachsten Kontrollstrukturen:
Java:
while(dieses prädikat erfüllt ist){
  wird dieser code ausgeführt
}

ob das hier einmal stimmt:

Java:
public class flughafen {
public static void main (String[] args) {

int frei = 0;

if (frei == 0)
System.out.println("noch nicht eingecheckt");
if (frei == 1)
System.out.println("eingecheckt");
}
}
Nein. Für Wahrheitswerte gibt es in Java den [c]boolean[/c] Datentyp. Booleans durch int's zu ersetzen mag zwar kompillierbar sein, ist aber unnötig und unsinnig.
PS: Ich brauch einfach immer Vorlagen zum lernen....
Blätter ein wenig in einem Java-Buch deiner Wahl herum. Ich kann dir wärmstens Java-Insel empfehlen. Schau dir erstmal kapitel 2.6 und 2.7 an.

PS: und so einfach ist Java dann doch wieder nicht. Plan ruhig 3-5 Jahre ein, wenn du das halbwegs vernünftig lernen willst. Je früher man anfängt, desto besser.
 
Zuletzt bearbeitet:

hemeroc

Bekanntes Mitglied
Ein einfaches Beispiel in Pseudocode mit Verzweigungen und Schleifen.
Das kann man dann auch sehr leicht in ein Java-Programm verwandeln.
Einlesen kannst du mit der Klasse "Scanner" recht einfach.


Wiederhole

continue = false;
boarding = true;
checked_in = 0;
Ausgabe "Boarding gestartet. Wie viele Personen dürfen einchecken?"
Einlesen "max_checked_in"
Solange "boarding"
checked_in = checked_in + 1;
Ausgabe "check_in von max_checked_in Personen an Bord."
Wenn "check_in >= max_checked_in"
boarding = false;​
Sonst

Ausgabe "Boarding beenden?"
Einlesen "end_boarding"
Wenn "end_boarding"
boarding = false;​
Ausgabe "Boarding beendet, start erfolgt."
Ausgabe "Weiteres Flugzeug abfertigen?"
Einlesen "continue"
Bis not "continue"

Da hast du dann zweimal "if" einmal "while" und einmal "do while" drin.
Und sonst wie gesagt, Einlesen kannst du mit Scanner ausgeben mit System.out.
Wenn du noch Fragen hast dann sag bescheid.

Liebe Grüße
Hemeroc

EDIT: Es wäre gut wenn du zu Lern- und Lehrzwecken deinen Code dann hier postest.
 
Zuletzt bearbeitet:

Andi_CH

Top Contributor
Da exisitert noch gar kein Code - Mensch Lest doch mal von Anfang an!
Es geht um die Entscheidung welches Thema umgesetzt werden soll.

Java:
if (arbeitszeit > tagesarbeitszeit) {
  sysout("Ueberstunden gemacht");
} else if (arbeitszeit == tagesarbeitszeit) {
  sysout("Gratuliere zur Präzision");
} else {
  sysout("Fauler hund");
}

Die Aussage "wir werden mit xxx vollgestopft" - da bekomme ich grüne Pickel - das vermittelt sowas von Passivität im Unterricht ... der Lehrer ist dazu da mir etwas beizubringen und ist verantwortlich dass ich am Ende des Unterrichtes etwas kann ...

Lieber TO - es wurden dir unterschiedliche Javakonstrukte und möglicherweise auch einige Algorithmen vorgestellt, die du nun umsetzten sollst - dazu wurden dir zwei Themen vorgeschlagen. Es geht NICHT darum die Aufgaben irgendwie zu lösen - es geht darum die vorgestellten Dinge anzuwenden.

Also beginn damit oder du wirst nie was lernen.
 

Esambler

Mitglied
Danke! Genau sowas hab ich gebraucht!

So nun scheint es das ich Fehler in der umsetzung habe:
Warsch. kann ich das gelernte nicht richtig einsetzen oder?

Java:
"import java.util.*;" 
public class Flugzeug check-in {   
    public static void main (String[] args)
	{
    bolean continue = false;
    bolean boarding = true;
    if (eingecheckt = 0);
    system.out.printIn ("Boarding gestartet. Wie viele Personen dürfen einchecken?")
    inData = stdin.readLine();
	max_checked_in = Integer.parseInt (inData);
    
	while "boarding";

        eingecheckt = eingecheckt + 1;
        System.out.printIn("check-in von max. checked-in Personen an Bord.");
        if"check_in >= max_checked_in"

            boarding = false;

        Then


            System.out.printIn ("Boarding beenden?");
            read "end_boarding";
            while "end_boarding";

                boarding = false;

    System.out.printIn ("Boarding beendet, start erfolgt.");
    System.out.printIn ("Weiteres Flugzeug abfertigen?");
    read "continue";
}
}
 
S

SlaterB

Gast
Java-Code ist das nicht gerade, falls du das andeuten möchtest,
was immer du bisher gelernt hast, Java muss noch dazu kommen, jede einzelne Syntax,
vor allem gibt es viele runde und geschweifte Klammern und kein 'Then'

Galileo Computing :: Java ist auch eine Insel –

manche Codezeilen wie [c]read "continue";[/c] sind allerdings von Syntax unabhängig auch für menschlichen Compiler nicht zu verstehen


genereller Tipp als Alternative:
nur eine Zeile oder wenige programieren und dann um die Fehler kümmern,
nicht das Programm fertig und dann über tausend Fehler wundern
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Das ist kein Java.

Du hast massive Probleme mit Grundlagen.
-> Die klassendefinition stimmt von der ersten zeile nicht
-> eine import-anweisung ist das auch nicht
-> eine while-schleife kann man nur mit gutem willen erkennen
-> read = ?
-> Java ist case-sensitive!
-> then gibt es nicht in java
-> continue ist ein Schlüsselwort
-> welchen Sinn hat if(...); ?
...

hol dir eine Lektüre: "Java ist auch eine Insel" kostenloses Openbook, oder "Java von kopf bis fuß" (Script glaub kostenlos) oder zahl 50 euro und bekomme einen gut gemachten video-tutorial-kurs bei javavideokurs.de. Aber wir sind nicht da, um dir Java beizubringen.
 
Zuletzt bearbeitet von einem Moderator:

Esambler

Mitglied
Java:
import java.io.*;
class Flugzeug_check_in 
{   
    public static void main (String[] args) throws IOException
	{
    continue = false;
    boarding = true;
    if ("eingecheckt = 0");
    system.out.printIn ("Boarding gestartet. Wie viele Personen dürfen einchecken?");
    inData = stdin.readLine();
	max_eingecheckt = Integer.parseInt (inData);
    
	continue "boarding";

        eingecheckt = eingecheckt + 1;
        System.out.printIn("check-in von max. checked-in Personen an Bord.");
        if ("eingecheckt >= max_eingecheckt");

            boarding = false;

        Else

            System.out.printIn ("Boarding beenden?");
            read = ("end_boarding");
            while ("end_boarding");

                boarding = false;

    System.out.printIn ("Boarding beendet, start erfolgt.");
    System.out.printIn ("Weiteres Flugzeug abfertigen?");
    read = "continue";
}
}

So jetzt sagt er dass ich noch 4 errors habe..... ich weiß ich hab daneben musik gehört deshalb hab ich die falsche werte und ; vergessen :) vin 17 auf 4 errors geht :)
Aber bei den 4 errors bin ich mir net sicher..... bzw. was stimmt jetzt net?
"import java.io.*;" oder util?

PS: Danke für die Hilfe trotzdem :)
 
Zuletzt bearbeitet:
S

SlaterB

Gast
Import ohne Anführungszeichen?
die erste Codezeile [c]continue = false;[/c] ist dann schon weder syntaktisch erlaubt noch scheint sie irgendeine Funktion in deinem Programm zu haben

> dass ich noch 4 errors habe.
ohne dich ärgern zu wollen, aber auch als realistische Einschätzung:
der Compiler kratzt nur an der Oberfläche, wären die 4 so erledigt dass eine tatsächliche Programmstruktur zu entdecken wäre, würde er im Detail 30 weitere Fehler finden ;)
 
T

Tomate_Salat

Gast
Vorher war es eine Codezeile, die man in einer fehlerfreien Umgebung zum laufen bekommen würde, jetzt sind es 2. Die Klassendefinition ist hässlich, würde aber laufen. Besser wäre:
Java:
public class FlugzeugCheckIn { // UpperCamelCase
und die main-Methode.

Der Rest ist nach wie vor kein Java. Zum Teil könnte man JavaScript oder Python vermuten, aber naja. Es bleibt dabei: schau dir Grundlagen an. Entsprechende Quellen erklären die wunderbar (im letzten Post habe ich 3 genannt), die müssen wir dir hier nicht extra nochmal erklären.
 

Esambler

Mitglied
Vorher war es eine Codezeile, die man in einer fehlerfreien Umgebung zum laufen bekommen würde, jetzt sind es 2. Die Klassendefinition ist hässlich, würde aber laufen. Besser wäre:
Java:
public class FlugzeugCheckIn { // UpperCamelCase
und die main-Methode.

Der Rest ist nach wie vor kein Java. Zum Teil könnte man JavaScript oder Python vermuten, aber naja. Es bleibt dabei: schau dir Grundlagen an. Entsprechende Quellen erklären die wunderbar (im letzten Post habe ich 3 genannt), die müssen wir dir hier nicht extra nochmal erklären.

Ich lese eh schon wie ein wilder! Alles was es gibt auch das Java Insel Ding :) Ich bemühe mich ja eh :(
 
S

SlaterB

Gast
bemühe dich doch jetzt, 6 Stunden kein Posting zu schreiben,
selbst in der Zeit Java zu lernen wäre schon irrsinnig, eher 2 Wochen investieren,

jedes Lehrbuch hat für sich schon ausreichend Leitfunktion, ein Kapitel nach dem anderen, aber noch Einzelpunkte speziell für dich:
- was sind Variablen, wie deklariert man sie, (bei dir auch: was macht man damit?!)
- was sind Schleifen, wie deklariert man sie, wann kann 'continue' je auf welche Weise sinnvoll eingesetzt werden, vorerst am besten darauf verzichen, ob mit oder ohne Anführungszeichen..
- suche Beispiele für Ein- und Ausgaben, denke dir nicht teilweise imaginäre Befehle wie 'stdin.readLine();' aus
 
F

Firephoenix

Gast
Hier gibt es auch noch eine Übersicht aus Grundlagen:
Tutorial / Java Grundlagen

Alles was du jetzt ohne Grundlagen weiter machst wird soweiso nur Gefrickelt
bedeutet man schraubt so lange rum bis die Fehler weg sind und der Code so aussieht als könnte er was richtiges machen, was er aber dann garantiert nicht (mehr) macht.

Sauber Programmieren heißt erstmal das Problem so zu verstehen, dass man es selbst mit einfachen Operationen auf dem papier lösen kann.
Hat man das verstanden kann man sich selbst dabei beobachten was man eigentlich macht
z.B. anmeldung aufschreiben, anmeldung prüfen, irgendwelche ausgaben...
Daraus kann man einen Programmablauf aufschreiben (z.b. mit Kommentaren)
Java:
//Hier Anmeldung
//Hier anmeldewerte prüfen
//Hier ausgabe von ...
//Hier Ändern des Wertes...
//usw

Hat man dann seinen Ablauf, dann kann man anfangen seine erste Codezeile zu schreiben und anfangen die Teilprobleme zu lösen (wie lese ich wert x vom typ y von der konsole ein?, wie mache ich eine abfrage ob wert a vom typ b den wert c hat?, wie baue ich meine wiederholten anweisungen vernünftig auf? usw)

Gruß
 

Neue Themen


Oben