sky993
8.11.2012, 19:34:54
Witam. Otoz mam taki maly kodzik
import java.util.*;
public class cos{
public static void main(String[] args)
{
int[] tab=new int[100];
for(int i=0;i<10;i++)
{
tab[i]=i;
}
System.out.println(tab.length);
char[] sl=new char[100];
String s="dasdasd";
sl=s.toCharArray();
System.out.println(sl.length);
}
}
Dlaczego poprzez tab.length dla tablicy int wypisuje 100 a dla char 7 chociaz obydwie byly deklarowane na 100 miejsc?
d3ut3r
8.11.2012, 19:39:30
Co prawda Java to nie mój świat, ale wydaję się że metoda toCharArray() deklaruje tablicę na nowo, więc deklaracja sl na początku jest zbędna. Dostajesz 7 bo String s ma 7 znaków
sky993
8.11.2012, 19:43:30
No to skad sie wzielo 7 to wiem^^. Tylko ciekawi mnie jak zrobic by w tablicy z intami tab.length dawala 10.
@edit
Czy jest jakas metoda czy pole? Czy trzeba samemu sobie pokombinowac?
Crozin
8.11.2012, 19:49:42
1. String.toCharArray() zwraca tablicę, więc wartość zmiennej sl zostaje nadpisana.
2. Jak chcesz by zmienna tab była tablicą dziesięciu elementów... zainicjuj ją jako tablicę dziesięciu elementów.
PS. Używaj BBCode [ java ] ... [ /java ]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.