Problem bei Ausgabe

Mico93

Mitglied
Hallo zusammen,

nach kleineren Mühen ist es mir gelungen eine kleine Aufgabe zu bewältigen mit dem am Ende richtig herauskommenden Ergebnis.Allerdings gefällt mir die Ausgabe als solches nicht,da er Werte anzeigt,die ich nicht brauche,letztlich ist es der letzte Wert,der für meine eigene Aufgabe entscheidend ist.
Meine Frage an die erfahrenen Hasen unter euch:
Wie schaffe ich es,dass er mir nur den letzten Wert ausgibt?

Vielen Dank fürs Lesen!

Code:
public class Lernen20 {

    public static void main(String[] args) {
        
        int[] Liste={1,2,3,3,2,1,2,3,2,1,3,3,2,2,1,3,2,1,2};
        
        int[] arr= new int[3];
        
        arr[0]=1;
        arr[1]=2;
        arr[2]=3;
        
        int counter=0;
        
        for(int i=0;i<Liste.length;i++) {
            if(Liste[i]<3 && Liste[i]>1)
                counter+=arr[0];
            System.out.println(counter);
        }
    }
}

Ausgabe:
1
2
2
3
3
4
4
4
4
5
6
6
6
7
7
8
 
Also dein Post mit einer vermeintlich sehr einfachen Aufgabe hat mich erst mal etwas grübeln lassen...
Die Ausgabe die du da zeigst passt nämlich überhaupt nicht zum Programm, da stimmt irgendwas nicht.
Letztendlich ist die Antwort auf deine Frage sehr einfach:
Du printest ja mit jedem Durchlauf der Schleife counter aus.
Setz das einfach hinter die for-Schleife, dann zeigt er dir nur den letzten Wert an.

Die Implementierung ist jedoch auch mehr als fragwürdig. Letztendlich willst du ja nur die 2en in der Liste zählen.
Weshalb schreibst du vorher 1,2,3 in ein separates Array, welches du dann auch noch ausliest? Warum nicht einfach
Code:
if(liste[i]==2)counter++
 

Neue Themen


Zurück
Oben