Java - zurück zum anfang einer schleifer?

ds - (Programmieren, Informatik, Java)

4 Antworten

Ich würde was in dieser Art nehmen (z. T. Pseudocode):

do {
ausgabe(prompt);
eingabe(zahl);
zahl_nicht_ok=not(istZahlOK(zahl));
if (zahl_nicht_ok) continue; // sofort nächsten Schleifendurchlauf beginnen
ausgabe(zahl);
} while (zahl_nicht_ok);

oder von dieser Art:

while(true) {
ausgabe(prompt);
eingabe(zahl);
zahl_nicht_ok=not(istZahlOK(zahl));
if (zahl_nicht_ok) continue; // sofort nächsten Schleifendurchlauf beginnen
ausgabe(zahl);
break; // Schleife verlassen
};

Natürlich wäre es auch möglich, im "Erfolgsfall" die Zahl auszugeben:

  if (zahl_ok) ausgabe(zahl);

aber nach meiner Erfahrung verlängern sich die "Schleifenkörper" im Laufe der Zeit, und da ist es für meinen Geschmack am übersichtlichsten, den "üblicherweise" ausgeführten Code möglichst wenig tief verschachtelt zu haben.

Solche Überlegungen aus der Praxis spielen in den Prüfungen zwar keinerlei Rolle, aber nach meiner Erfahrung erleichtert man sich das Leben erheblich, wenn man sich Tipps aus der Praxis schon möglichst früh angewöhnt (sofern sie nicht gegen ausdrückliche Wünsche der Prüfer verstoßen).

du verwendest doch garkeine schleife :)

poste mal den code, dann versuche ich dir ein beispiel damit zu schreiben. ich kann zwar kein java aber das sollte eigentlich wie überall funktionieren.

Java eine Zeile Wiederholen?

Hallo ich habe folgendes:

package pojektaufgaben;

import java.util.Scanner; public class a15 {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("gib eine Zahl ein die kleiner als null ist, größer als null ist und gleich null ist");
    int x = input.nextInt();
    if (x>0){System.out.println(" Diese Zahl ist größer als 0 ");}
    else if (x<0){System.out.println("Diese Zahl ist kleiner als 0");}
    else {System.out.println("Die Zahl ist gleich null , jetzt geh weiter lernen");}
    input.close();

nun ist mein Problem , dass nach dem zb auf der console 3 eingegeben wurde und es ausgibt , dass diese größer als 0 ist kann ich keine weiter zahl eingeben. ich möchte quasi , dass ich nach dem durchlauf nochmal mehrere male eine zahl eingeben kann und es mir wieder sagt ob es größer , kleine oder gleich 0 ist.

...zur Frage

Anfänger braucht Hilfe mit Java, habe 2 Fragen?

Hallo Leute,

wie schon im Titel steht hätte ich 2 Fragen, also:

  1. Habe eine Programm zu programmieren welches feststellt ob die gegebene Zahl eine narzisstische Zahl ist. Jedoch bleib ich schon ganz am Anfang stecken, da wir weder die Klassen Math noch String verwenden dürfen. Wie kann ich z.B. die Zahl 153 auseinander nehmen, damit ich die 1, 5 und die 3 habe? Ich habe mir gedacht die Zahl z.B. durch 100 zu teilen dann hätte ich ja schon die 1 mit Nachkommastellen, welche ich aber abschneiden müsste. Könnte ich die Klasse String verwenden wäre es wahrscheinlich etwas leichter. Bin ich hier auf dem richtigen Weg?
  2. Bei einer anderen Aufgabe müssen wir einen "Rautengenerator" programmieren. Habe ein Bild angehängt damit die Frage etwas verständlicher ist. Mit dem Scanner lese ich eine ungerade Zahl ein (bei geraden Zahlen soll es abbrechen, soweit so gut), mit der ich die Höhe der Raute angebe. Ganz rechts wäre mit Höhe 1, Mitte mit Höhe 5 und links mit Höhe 11. Aber mit was genau fange ich hier an? Meine Überlegung war 2 for Schleifen, mit der einen gebe ich die Zeilen an und mit der 2 verschachtelten Schleife zeichne ich die Rauten. Wäre das soweit korrekt?

Ich bitte hier nicht um fix fertige Lösungen sondern um ein paar Tipps bzw. Lösungsansätze wie ich hier vorgehen soll, da mich diese Aufgaben in den Wahnsinn treiben, wenn ich noch länger darüber grüble.

MfG

Josef

...zur Frage

Von Java auf C# wechseln sinnvoll, Java und C# IMMER decompilebar?

Hallo, Ich bin 17 und möchte später Programmierer werden. Ab September fange ich an meine Fach-Abi zu machen und lerne nebenbei mit Hilfe von Büchern Java. Da mich schon immer eher C++ interessierte, da ich davon hörte, dass wirklich jedes Java Programm wieder komplett decompiled werden kann, habe ich mir ein C++ Buch gekauft(C++: Objektorientiertes Programmieren von Anfang an) nachdem ich mir das Java Buch zur Hälfte durchgelesen habe. Nun bin ich bei Seite 100 und fange an einen Hass auf C++ zu bekommen, da ich keinen Sinn in Pointern sehe und mir einen Garbage Collector herbeisehne. Deshalb spiele ich mit dem Gedanken C# zu erlernen. Sollte ich von Java zu C# wechseln ? Welche der beiden Sprachen hate eine bessere Zukunft (C# oder Java) ? Und erscheint mir C++ nur so schwer oder haben auch andere Probleme mit dieser Sprache ? Gibt es eine Möglichkeit den Sourcecode von Java / C# Programmen un-decompile-bar zu machen ?

...zur Frage

Was möchtest Du wissen?