Problemas com split

Galera, alguém pode me ajudar, por favor? Eu to tentando usar um split aqui, e quero colocar o resultado num array, pra imprimir depois. O problema é que tá retornando só o primeiro resultado(o “javais”)…

Segue o trecho:

int j=0;
		String frase = "javais;terr;ible";
		String[] fq = frase.split(";");
			if(j<fq.length){
				System.out.print(fq[j]);
				j++;
			}else{
				System.out.println("array estourou");
			}

seu codigo ta dentro de um loop?

ele ta no minimo estranho…

estude mais os principios da linguagem… peguem alguma apostila que tenha por ai…

o código só pega o primeiro valor pq vc só pede pra exibir o valor uma vez (e o da posição 0 do array, ja q vc uso a variavel j)

perceba que se substituir esse [j] por [1] vai exibir a segunda palavra…

bons estudos…

vai ver que vc deveria usar um laço como o while, pois um if é executado apenas uma vez

é uma estrutura de decisão, não de repetição :wink:

Obrigada a todos. Mudei algo, e agora está assim:

String frase = "javais;terr;ible";
		String[] fq = new String[30];	
			for(int j=0;j<frase.length();j++){
				fq = frase.split(";");
				System.out.print(fq[j]);
			}

e retornando:

javaisterribleException in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
	at Teste.main(Teste.java:20)

Como ele retorna esse erro se eu já setei o tamanho do array pra bem mais do que ele necessita? Acho que não to captando bem o funcionamento do array…

Mais uma vez, valeu pela ajuda.

String frase = "javais;terr;ible"; String[] fq = frase.split(";"); for(int j=0;j<frase.length();j++){ System.out.print(fq[j]); }

Olá, peczenyj. Obrigada pelo help :smiley:

Rodei esse código, continua retornando o estouro de array…

javaisterribleException in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
	at Teste.main(Teste.java:17)

Não sei o que pode ser…

[]'s

Aham, ele confundiu os comprimentos - ele queria dizer isto aqui:

         String frase = "javais;terr;ible";  
         String[] fq =  frase.split(";");     
             for(int j=0;j<fq.length;j++){  
                 System.out.print(fq[j]);  
             } 

Ele tá dando esse erro aí por causa do length. Você pega o tamanho da frase e não o tamanho do array que você tem.

String frase = "javais;terr;ible";
String[] fq = frase.split(";"); 
    for(int j = 0; j < fq.length; j++){
        System.out.print(fq[j]);
    }

[editado]
opz, postamos junto.
[/editado]

Muito obrigada a todos, problema resolvido. Valeu mesmo :wink:

Ah sim, editei rapido, nem testei, desculpe. :oops:

sem problemas :wink: