Array Rückwärts ausgeben

Hallo habe folgenden code...
Das array soll bei der eingabe 2 rückwärts ausgegeben werden.. tut es aber nicht... wieso?

Java:
import java.util.Scanner;

public class aufgabe33 {
	public static void main(String[]args) {
		
		boolean truefalse = false;
		
		System.out.println("True = 1\nFalse = 2\nEingabe: ");
		Scanner scan = new Scanner(System.in);
		int w = scan.nextInt();
		
		if(w == 1) {
			truefalse = true;
		}
		if(w == 2) {
			truefalse = false;
		}
		
		print10(truefalse);
	}
	
	public static void print10(boolean truefalse) {
		
		int werte[] = {1,2,3,4,5,6,7,8,9,10};
		
		if(truefalse = true) {
			for(int i = 0; i < 10; i++) {
				System.out.println(werte[i]);
			}
		}
		if(truefalse = false) {
			for(int i = 10; i >= 0; i--) {
				System.out.println(werte[i]);
			}
		}	
	}
}
 
Code:
if(truefalse = true)
// ...
if(truefalse = false)
Das sind keine Vergleiche, sondern Zuweisungen. Vergleiche macht mit ==
 
Noch zwei Hinweise:
1. verwende sinnvolle Variablennamen. Etwas wie truefalse sagt so ziemlich gar nichts aus. Denkbar wäre z. B. etwas wie reverse.
2. Ein booleschen Ausdruck brauchst Du nicht nochmal auf Gleichheit mit true/false vergleichen.

Java:
    public static void print10(boolean reverse) {       
        int werte[] = {1,2,3,4,5,6,7,8,9,10};
       
        if(reverse) {
            for(int i = 10; i >= 0; i--) {
                System.out.println(werte[i]);
            }
        } else {
            for(int i = 0; i < 10; i++) {
                System.out.println(werte[i]);
            }
        }
    }
 
Wenn ich nicht grad n Brett vorm Kopf habe musst du die Zählvariable für die zweite Schleife (die die Rückwärts zählt) am Anfang auf 9 gesetzt haben, weil die Indizes deines Arrays durch die 10 Plätze von 0-9 gehen müsste. Du startest mit der Zählvariablen also im leeren.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben