2016-11-28 2 views
-1

Ich versuche Variable Markierung zu dekrementieren um 5 statt 1. Ich möchte, dass die Position 0 die Standardeingabe bleibt und nach der Dekrementierung um 5 jedes Mal um die Schleife geht.Für Schleifen/Inkrement und Dekrement

Also, wenn ich Eingabemarke als 82, sollte die Ausgabe sein:

(0) 82; (1) 77; (2) 72 usw.

import java.util.Scanner; 

public class Late { 

    public static void main(String[] args) { 
     int mark; 
     int numberOfDays; 
     int counter = 4; 

     Scanner scn = new Scanner(System.in); 

     System.out.println("Input mark"); 
     mark = scn.nextInt(); 

     System.out.println("Input number of days"); 
     numberOfDays = scn.nextInt(); 

     for (int i = 0; i <= numberOfDays; i++) { 
      System.out.println("(" + i + ")" + mark--); 
     }      
    } 
} 
+1

'mark -' ist das gleiche wie 'mark - = 1' oder' mark = mark - 1'. Ich lasse Sie den Rest tun – AxelH

+0

können Sie uns sagen, wie Sie die Ausgabe erhalten Sie bitte? – xFighter

Antwort

3

Sie bereits über Zuordnung wissen, warum nicht nur die offensichtlichsten?

mark = mark - 5; 

In der Tat, die Postfix -- und ++ Betreiber sind nicht der einzige Weg, um den Wert einer Variablen zu manipulieren. Selbst wenn sie es wären, könnten Sie einfach fünfmal mark-- schreiben.

In den meisten C-ähnliche Sprachen (und Java ist keine Ausnahme), können Sie dies zu

mark -= 5; 

verkürzen aber die erste Variante ist völlig in Ordnung, auch.

+0

Beachten Sie, dass die Verwendung von 'mark -' anstelle von '--mark' Sie zwingt, die Zuweisung an einer bestimmten Stelle vorzunehmen;) – AxelH

+0

danke, ich habe es jetzt verstanden –

Verwandte Themen