2 Stimmen

Erklären Sie bitte diesen Java-Code

Wenn ich in diesem Programm 10 eingebe, wenn es heißt: "Geben Sie einen Wert ein", was würde dann ausgegeben werden? num1 10 wird, während num2 6 ist, verstehe ich nicht, was num1 = num1 bedeuten? 10 = 10 + 2 = 12 ?

Ich glaube, ich habe es richtig verstanden: Der Benutzer braucht 10, num1 wird dann der Wert von num1 + 2 was 12 ist. num2 wird dann zu num1 , 12 dann 12/6 = 2 .

Leistung: 2

import java.util.*;

public class Calculate
{
    public static void main (String[] args)
    {
        Scanner sc = new Scanner(system.in);
        int num1, num2;
        num2 = 6;
        System.out.print("Enter value");
        num1 = sc.nextInt();
        num1 = num1 + 2;
        num2 = num1 / num2;
        System.out.println("result = " + num2);
    }
}

4voto

Dave Newton Punkte 156303

Sie ordnet den Wert von num1 + 2 zurück zu num1 .

Also ja, wenn num1 = 10 der Wert 12 wird gespeichert in num1 .

Dieser Wert wird dann geteilt durch 6 verlassen. 2 .

Außerdem steht dort nie num1 = num1 Sie können Teile einer solchen Anweisung nicht isolieren - die Anweisung, eine Zuweisung, ist num1 = num1 + 2 .

1voto

WindowsMaker Punkte 3022

Was Sie verstehen müssen, ist, dass num1 wird nicht zu einer festen Zahl (z. B. 10), sondern bleibt eine Variable. Und per Definition variiert eine Variable.

wenn Sie sagen x = 10 そして x = x+1 Was wirklich passiert, ist ungefähr so: y = x + 1 そして x = y

1voto

Christina W Punkte 71
int num1, num2; 
num2 = 6; // Now num2 has value 6
System.out.print(Enter value"); 
num1 = sc.nextInt(); // Now num1 has value 10, which you just entered
num1 = num1 +2; // num1 is being assigned the value 10 + 2, so num1 becomes 12
num2 = num1/num2; // Now num1 = 12 and num2 = 6; 12/6 = 2
System.out.println("result = "+num2); 

Sie sollten eine Ausgabe von 2 erhalten; siehe obige Kommentare...

1voto

Mike Punkte 7854
public class Calculate  {
    public static void main (String[] args) {
        Scanner sc = new Scanner(system.in);  // Whatever you read from System.in goes into the "sc" variable.
        int num1, num2;                       // num1 = 0.  num2 = 0.
        num2 = 6;                             // num2 = 6.
        System.out.print(Enter value");
        num1 = sc.nextInt();                  // Read in the next integer input and store it in num1.
        num1 = num1 +2;                       // num1 gets 2 added to it and stored back in num1.
        num2 = num1/num2;                     // num1 gets divided by num2 and the (integer) result is stored in num2.
        System.out.println("result = "+num2); // Print out the result which is stored in num2.
    }
}

0voto

Ted Hopp Punkte 227177

In Java ist das Gleichheitszeichen = ist ein Zuweisungsoperator. Er wertet den Ausdruck auf der rechten Seite aus und weist den resultierenden Wert der Variablen auf der linken Seite zu. Wenn also num1 hatte den Wert 10 vor der Anweisung num1 = num1 + 2; dann hätte es nach dieser Anweisung den Wert 12 .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X