Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Java]Tab.length
sky993
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 21.07.2011

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
sky993
post
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 21.07.2011

Ostrzeżenie: (0%)
-----


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?

Ten post edytował sky993 8.11.2012, 19:48:53
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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 ]

Ten post edytował Crozin 8.11.2012, 19:51:05
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:22