Qual p erro desse código simples?

7 respostas
S

QUAL O ERRO NESTE CÓDIGO SIMPLES?

[code]
package modulo3;

public class exercicio1 {

/**
* @param args
*/

public static void main(String[] args) {

int [] posicao = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (int i = 0; 10 <= posicao.length; i++)
{

System.out.println( "imprimindo posicao:" + posicao[i] );

}
}
}
[code]

erro:

imprimindo posicao:1
imprimindo posicao:2
imprimindo posicao:3
imprimindo posicao:4
imprimindo posicao:5
imprimindo posicao:6
imprimindo posicao:7
imprimindo posicao:8
imprimindo posicao:9
imprimindo posicao:10
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at modulo3.exercicio1.main(exercicio1.java:16)

7 Respostas

lucasportela

O erro está no laço. for(int i = 0 ; 10 <=…)

o certo seria i <= x.length

pedruhenrik

erro:

for (int i = 0; 10 &lt;= posicao.length; i++)

certo:

for (int i = 0; i &lt;= posicao.length; i++)

10 <= posicao.lenght a condição sempre seria verdadeira e como não existe um break seria executado infinitamente.

faltou fechar o [ / code ] tb

att,

S
package modulo3;

public class exercicio1 {

	/**
	 * @param args
	 */
	
	public static void main(String[] args) {

		int [] posicao = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
		
		for (int i = 0; i <= posicao.length; i++)
		{
			
		System.out.println( "imprimindo posicao:" + posicao[i] );
		
		}
	}
}

segundo erro

imprimindo posicao:1
imprimindo posicao:2
Exception in thread “main” imprimindo posicao:3
imprimindo posicao:4
imprimindo posicao:5
imprimindo posicao:6
imprimindo posicao:7
imprimindo posicao:8
imprimindo posicao:9
imprimindo posicao:10
java.lang.ArrayIndexOutOfBoundsException: 10
at modulo3.exercicio1.main(exercicio1.java:16)

Luiz_Augusto_Prado
s4ndro:
QUAL O ERRO NESTE CÓDIGO SIMPLES?

[code]
package modulo3;

public class exercicio1 {

/**
* @param args
*/

public static void main(String[] args) {

int [] posicao = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (int i = 0; 10 <= posicao.length; i++)
{

System.out.println( "imprimindo posicao:" + posicao[i] );

}
}
}
[code]

erro:

imprimindo posicao:1
imprimindo posicao:2
imprimindo posicao:3
imprimindo posicao:4
imprimindo posicao:5
imprimindo posicao:6
imprimindo posicao:7
imprimindo posicao:8
imprimindo posicao:9
imprimindo posicao:10
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at modulo3.exercicio1.main(exercicio1.java:16)

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
olha aqui como deve ser:
for (int i = 0; i < posicao.length; i++)

lucasportela

Seu array tem 10 posições… e seu laço faz de 0 até 10, e de 0 até 10 tem quantos valores? 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ,10… total 11.
Receba um ArrayIndexOutOfBoundsException na cabeça!

S

show lucas… tava quebrando a cabeça com essa besteira

fabim

EXCEPTIONS em Java existem pra isso. O nome da exception ja te disse o motivo do erro.
Fiquei até surpreso com tantas respostas dadas tentando analisar o codigo.

Criado 13 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 7
Participantes 5