Wieso bekomm ich bei diesen Java Code eine endlos Schleife (siehe Foto)?

!?!?!!?!? - (Java, Programmierung, Code)

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

1.) 1 ist IMMER <= 500

2.) i = 1 + 1 ist IMMER i = 2

20

Wie stell ich’s ein das es nur bis 500 hoch zählt?

0
8
@Nichtsnutz12

mach statt

i = 1 + 1

einfach

i = i + 1

oder

i++

(wenn du immer z. B. um 2 oder mehr erhöhen willst, funktioniert das letzte nicht)

0

Da du nach jedem Schritt der Schleife i=1+1 setzt, hat i immer den Wert von 1+1 (also 2). Du meintest wohl i=i+1

53

Gut, dass wir nicht gewohnheitsmäßig l (kleines L) als Zählvariable verwenden ...

0
32
@PWolff

Generell sollte man seinen Variablen einfach immer sinnvolle Namen geben.

1
53
@HansImGlueck178

Ja, seit ein paar Jahrzehnten ist das möglich.

Bis in die 1980er sah das etwas anders aus. Die üblichen BASIC-Dialekte damals ließen maximal 2 Buchstaben (oder 1 Buchstaben und 1 Ziffer) für Variablennamen zu (nicht ganz so alte Dialekte ließen auch mal weitere Zeichen einfach unberücksichtigt). Da hat man die 6 erlaubten Zeichen von FORTRAN schon als Fortschritt empfunden.

Wo ich arbeite, ist es eine interne Vorschrift, Namen (ob für Variable, Klassen, Funktionen, ...) möglichst "sprechend" zu machen. Ausdrückliche Ausnahmen sind Schleifen, deren Körper aus maximal einem halben Dutzend Zeilen oder so besteht, jedenfalls mit einem Blick erfassbar ist.

Was "sprechend" ist, ist aber individuell verschieden. Nehmen wir mal an, wir bräuchten eine Funktion, die das Quadrat ihres Arguments zurückgibt. Dann kann man alles erwarten von

int qdr(int x) { return x*x; }

bis

int FunktionDieDasQuadratIhresArgumentsZurueckgibt(int zuQuadrierendeZahl)
{
    int zurueckzugebendeZahl;
    zurueckzugebendeZahl = zuQuadrierendeZahl * zuQuadrierendeZahl;
    return zurueckzugebendeZahl;
}

(Von der notorischen Tippfaulheit typischer C-Programmierer will ich hier gar nicht erst anfangen (1).)

(1) https://www.duden.de/rechtschreibung/Paralipse

0

Wenn du die Variable i nach jeder Iteration hochzählen willst, dann ersetze i= 1+1 durch i++

20

Ok danke aber jetzt gehts bis unendliche wie kann ich es bis 500 einstellen?

0

Guthabenkarte - Code nicht lesbar - was tun?

Hey, habe heute bei Media Markt für 50€ Ps-Store guthaben gekauft und wollte ihn direkt einlösen. Jedoch habe ich zu schnell gekratzt, so dass man den code nicht mehr lesen kann...Die sache aber ist, dass ich den code nicht ganz abgekratzt habe, also nur so 1/3 und man erkennt auch nur 2 Ziffern. Also ist es unmöglich diesen Code eingelöst zu haben.

Wollte fragen, ob man eine neue Guthabenkarte anfordern kann und ob jmd schon solche Erfahrung hatte - weil 1. Hab den nicht eingelöst und 2. 50€ sind nicht gerade wenig

Ps. Kassenbon ist noch bei mir also zur bestätigung dass ich es gekauft habe.

Danke :)

...zur Frage

Java zahl aus 2 long zahlen bilden?

Hallo, ich versuche in Java eine Zahl vom Typ long aus zwei Zahlen vom Typ long zu bilden und zwar so, dass der erste Teil des Ergebnisses die erste Zahl und der zweite Teil der Zweiten Zah entspricht. Also z.B. 1. Zahl: 345345 2. Zahl: 324 Ergebnis: 345345324l (typ: long)

Danke für die Hilfe

...zur Frage

wie kriegt man psn codes gratis?

...zur Frage

Wie kann man in Java mit der For-Schleife alle Zahlen von 1 bis Zur eingegebenen Zahl miteinander addieren?

...zur Frage

Java System.in.read() funktioniert nicht richtig?

Ich habe folgendes Programm geschrieben:

package pack1;

import java.io.IOException;

public class MainProgramm {

    public static void main(String[] args) {

        int zahl;
        System.out.println("Geben Sie eine Zahl ein:");
        try {
          zahl = System.in.read();
          System.out.print("Sie haben die Zahl " + zahl + " eingegeben.");
        }
        catch (IOException e){
          System.out.println("Fehler");
        }

    }

}

Wenn ich es laufen lasse erhalte ich folgende Ausgabe:

Geben Sie eine Zahl ein:

3

Sie haben die Zahl 51 eingegeben.

oder

Geben Sie eine Zahl ein:
0
Sie haben die Zahl 48 eingegeben.   

also immer genau 48 zu viel.

Wenn ich Buchstaben eingebe erhalte ich keinen Fehler, sondern ebenfalls seltsame Ergebnisse:

Geben Sie eine Zahl ein:
d
Sie haben die Zahl 100 eingegeben.

oder

Geben Sie eine Zahl ein:
g
Sie haben die Zahl 103 eingegeben.

Jetzt meine Frage: Wo liegt der Fehler? Oder kann ich Eingaben am besten mit einer ganz anderen Klasse machen?

...zur Frage

Liste der Möglichkeiten 4-stelliger Code

Wie sich manche schon denken können, will ich einen 4-stelligen Code knacken. Hat jemand eine Liste mit allen Möglichkeiten die es gibt (Zahlen)?

Ich denke zwar nicht, daß jemand so etwas hat, aber wenn schon, wäre ich sehr dankbar.

...zur Frage

Was möchtest Du wissen?