Inicjuję tablicę w następujący sposób:
public class Array {
int data[] = new int[10];
/** Creates a new instance of Array */
public Array() {
data[10] = {10,20,30,40,50,60,71,80,90,91};
}
}
NetBeans wskazuje na błąd w tym wierszu:
data[10] = {10,20,30,40,50,60,71,80,90,91};
Jak mogę rozwiązać problem?
java
arrays
initialization
gawędziarski
źródło
źródło
Odpowiedzi:
Powyższe nie jest poprawne (błąd składniowy). Oznacza to, że przypisujesz tablicę, w
data[10]
której może znajdować się tylko element.Jeśli chcesz zainicjować tablicę, spróbuj użyć Array Initializer :
Zwróć uwagę na różnicę między dwiema deklaracjami. Przy przypisywaniu nowej tablicy do deklarowanej zmiennej
new
należy użyć.Nawet jeśli poprawisz składnię, dostęp
data[10]
jest nadal niepoprawny (możesz uzyskaćdata[0]
do nich dostęp tylkodata[9]
dlatego, że indeks tablic w Javie jest oparty na 0). Uzyskiwanie dostępudata[10]
spowoduje zgłoszenie wyjątku ArrayIndexOutOfBoundsException .źródło
public static void product(int[] array){ int[] productArray = new int[array.length];
i chcę ustawić wszystkie wartościproductArray
zero , co powinienem napisać? (Myślę, że powinienem napisać pętlę i ustawić wszystkie wartości na zero, czy jest na to lepszy sposób?)Próbować
data = new int[] {10,20,30,40,50,60,71,80,90,91 };
źródło
Kiedy tworzysz tablicę o rozmiarze 10, przydziela ona 10 miejsc, ale od 0 do 9. Ta pętla for może pomóc ci zobaczyć to trochę lepiej.
źródło
Możesz to zrobić:
źródło
Składnia
Przykład:
źródło
Zamiast uczyć się nieoficjalnych stron internetowych, ucz się na stronie oracle
następujący link: kliknij tutaj
* Można znaleźć inicjalizację, a także deklarację z pełnym opisem *
Dane wejściowe : 10 // rozmiar tablicy 10 20 30 40 50 60 71 80 90 91
Wyświetlanie danych:
Wyjście: 10 20 30 40 50 60 71 80 90 91
źródło
Nie można zainicjować takiej tablicy. Oprócz tego, co sugerują inni, możesz:
źródło
Jeśli chcesz zainicjować tablicę w konstruktorze, nie możesz użyć takich inicjalizatorów tablic jak.
Po prostu zmień na
Nie musisz określać rozmiaru za pomocą
data[10] = new int[] { 10,...,91}
Wystarczy zadeklarować właściwość / poleint[] data;
i zainicjować go jak wyżej. Poprawiona wersja kodu wygląda następująco:Jak widać wspornik jest pusty. Nie ma potrzeby określania rozmiaru między nawiasami, ponieważ inicjalizacja i jej rozmiar są określone przez liczbę elementów między nawiasami klamrowymi.
źródło
próbujesz ustawić 10. element tablicy na próbę tablicową
FTFY
źródło
Może to zadziała:
źródło