Recebendo um valor e passando para o array!

Opa!

estou fazendo um exercicio da facul, e to tendo dificuldade em uma coisa…

axo que foi erro do professor que nao explicou, mais vamos la!

eu tenho que ler a quantidade de notas que o usuario vai querer, e depois manda ele digitar uma a uma manualmente…
para isso, penssando eu que estava certo, fiz isso:

[color=red]import java.util.Scanner;

public class atv1 {

public static void main (String [] args) {

int x;

System.out.println(“Entre com a quantidade de notas a serem processadas”);
x=new Scanner (System.in)nextInt();

double resultado, media=0;
double [] notas = new double [x]; <-- penssando eu que isso era possivel, mais acabei de saber do nosso amigo
google que nao é, rsrsrsrs

for(int i=0;i<=x;i++) {
System.out.println("Digite a nota n: " + i);

notas[i]=new Scanner (System.in).nextDouble();

media=media+notas[i];

}

}
}[/color]

entao eu tenho que saber quantas notas ele vai querer, para poder cria o tamanho do array…
li sobre memory alloc dinamic, mais axo que essa foi a parte q ele nao enssinou para poder fazer a questao, mais posso ta errado… rsrsrs

atriua um valor inicial pra x

int x = 0

axo q deve ser esse o problema

o erro era realmente esse, ao inicializar a variavel X=0, ele funciona, escolhi 3 notas e botei as mesmas, mais quando ele ler a ultima nota ele da erro, rsrrsrs

[color=red]import java.util.Scanner;

public class atv1 {

public static void main (String [] args) {

int x=0;

System.out.println(“Entre com a quantidade de notas a serem processadas”);
x=new Scanner(System.in).nextInt();

double resultado=0, media=0;
double [] notas = new double [x];

for(int i=0;i<=x;i++) {
System.out.println("Digite a nota n: " + i);

notas[i]=new Scanner (System.in).nextDouble();

media=media+notas[i];

}
resultado=media/5;
System.out.println("A media foi de: " + resultado);
}
}[/color]

ai na hora que acaba de digitar a ultima nota ele da erro: [color=brown]EXCEPTION IN THREAD “MAIN” JAVA.LANG.ArrayIndexOutOfBoundsException: 2 at atv1.main (atv1.java:18)[/color]

e ai?
sei que lang eh uma classe que eh carregada automaticamente ne isso? rs

 for(int i=0;i<=x;i++) { 

O correto é

 for(int i = 0; i < x; i++) { 

import java.util.Scanner;

public class Exercicio {

public static void main (String [] args) { 

	int x; 

	System.out.println("Entre com a quantidade de notas a serem processadas"); 
	x=new Scanner (System.in).nextInt(); 


	double resultado, media=0;

	double [] notas = new double [5]; 
                            int cont=1;
	for(int i=0;i<x;i++) { 
                
		System.out.println("Digite a nota n: " + cont);
		cont++;
		notas[i]=new Scanner(System.in).nextDouble(); 
		media= (media + notas[i])/x;

	} 
	System.out.println("Media: " + media);

} 

}
//Corrigido!!!

O cinco foi pra chamar a atenção faltou inicializar o X entaun x=0;

aeww
resolvido!
agora eh so saber o maior e o menor!
vo fazer aki!

agradecido! ^^

PS: Giovanni, valeu… =], e do modo que eu fiz tbm funfou, com os parametros corrigidos pela galera ai, claro! :stuck_out_tongue_winking_eye:
obrigado!

array[0] = 0; //índice = 0; posição = 1 array[1] = 1; //índice = 1; posição = 2 array[2] = 2; //índice = 2; posição = 3 array[3] = 3; //índice = 3; posição = 4

Para acessar a última posição do vetor, vc sempre usa a mesma "fórmula":

vetor.length retorna o tamanho…por exemplo, 4 e a última posição é a 3!