Tablice i pętle w metodach

0

Witam, stworzyłem sobie programik który miał pobierac od uzytkownika rozmiar tablicy a pozniej wrzucac do niej wpisane przez niego produkty

public class cw
{

	static int i;
	static int n;
	static String[] nazwy;

public static void readProductsData(){

System.out.print("\nIle produktow chcesz wprowadzic?  ");
Scanner odczyt = new Scanner(System.in);
n = odczyt.nextInt(); 


for(i=0;i<n;++i){
		nazwy= new String[n];
		System.out.print("Nazwa produktu: ");
		nazwy[i] = odczyt.next();
		
	}

}



public static void main(String[] args) 
    {
	
	readProductsData();
	System.out.printf("\n\nProdukt ", nazwy[i]);
	
	

    }
	
}

ale wyrzuca mi że tablica jest pusta. Mógłby mnie ktoś naprowadzić gdzie mam błąd ?

0

Przecież to sie ledwo skompiluje, widać IDE podpowiadało ci to zrobić żeby przynajmniej kompilacja zadziałała... Nic w tym kodzie nie jest napisane poprawnie!

  1. Niech ta metoda zwraca tablicę, inaczej nie będziesz miał do niej dostępu poza metodą (pomijam słaby pomysł ze zmienną statyczną klasy)
  2. Wypisywanie musisz zrobić w pętli iterując po wszystkich elementach tablicy!
  3. Tablicę wewnatrz funkcji twórz RAZ a nie w każdym obiegu pętli
  4. Wywal te wszystkie statyczne pola.
0

Jaką wartość ma zmienna i w tym wierszu?

System.out.printf("\n\nProdukt ", nazwy[i]);
0

Czy inkrementacja przedrostkowa w petli for (++i) nie doprowadzi do bledow? A co jesli produkt bedzie sie skladal z kilku wyrazow? Do wydrukowania zawartosci tablicy mozesz uzyc petli typu foreach.

0

Proponuję by każdy odpowiadający (nim zacznie wypisywać bzdury): skompilował program, uruchomił go, i co najważniejsze, uważnie przeczytał odpowiedź @Shalom'a.

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