0 lub 1 - przeszukiwanie tablicy

0

Witam!:)

Jestem początkująca w javie. Prosiłabym o pomoc, nie wiem gdzie popełniam błąd :-)
Mam takie zadanko: Stwórz 10 elem. jednowym. tablicę, którą należy wypełnić losowo cyferkami 0 lub 1. Następnie przeszukaj tablicę i wyświetl ile zer i jedynek zawiera. Do przeszukiwania użyj 3 pętli: for, while, do..while.

Otóż część z losowaniem do tablicy nie stanowi problemu, dopiero przy tych trzech pętlach program się buntuje i nie reaguje na wyświetlanie wyniku. Kod:

public class licznik {
 public static void main (String[] args) {
	
	int licznik_z = 0;
	int licznik_j = 0;
	int [] tab = new int [10];
	
	for (int i = 0; i < tab.length; i++) {
		tab[i] = (int)(Math.random() * 2);
	}
	

		
		for (int i = 0; i < 4; i++) {                      // chciałabym aby pętla for sprawdzała od 0 do 3
			if (tab[i] == 0) {
				licznik_z += 1;
			}
			else {
					licznik_j += 1;
				   
				}
		}
		
		int i = 4;                                              // pętla while sprawdzała od 4 do 5
		while (i < 6) {
			if (tab[i] == 0) {
				licznik_z += 1;
			}
			else {
					licznik_j += 1;
				   
				}
		}
		
		i = 6;                                               //  sprawdzanie od 6 do konca tablicy
		do {
			if (tab[i] == 0) {
				licznik_z += 1;
			}
			else {
					licznik_j += 1;
				   
				}
		    }
		while (i < 10);
		
	System.out.println("zer w tablicy = " + licznik_z + "   jedynek = " +licznik_j);
		
	
	
	}
		
		
}	
		


Będę wdzięczna za podpowiedzi :)

0

dział newbie

0

Chyba źle zrozumiałaś zadanie. Nie masz przeszukiwać części tablicy pętlą for, części pętlą while,.... Masz całą tablicę przeszukać pętlą for, while, do...while.

0

nie inkrementujesz zmiennej i w pętli while i do..while, wystarczy dodać instrukcję
i++;
na końcu wspomnianych pętli a powinno działać

1 użytkowników online, w tym zalogowanych: 0, gości: 1