La cosa es que BufferedReader maneja un 'Buffer' es decir que primero captura en memoria todo lo que recibe y cuando éste se llena, manda el buffer a donde tenga que; es preferente usar la clase Scanner o si quieres manejar Streams la clase InputStream.
----------- EDITADO --------------
Con Scanner (debes importar java.util.Scanner):
Scanner teclado = new Scanner (System.in); Double nota = teclado.nextDouble();
import java.io.*;
public class Curso { public final static int TOTAL_EST = 5; private double[] notas; private double temporal;
public Curso() { notas = new double[TOTAL_EST]; for( int i = 0; i < notas.length ; i++ ) { notas[ i ] = 0.0; } } public void capturarNota() throws IOException { System.out.println("--------Digite la nota-----------..."); BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in)); for(int i = 0 ; i < notas.length ; i++) { temporal = Double.parseDouble(entrada.readLine()); if (temporal >= 0 && temporal < 6) { notas[i] = Double.parseDouble(entrada.readLine()); … } } } public void mostrarNotas() throws IOException { for(int i = 0; i< notas.length; i++) { System.out.println(notas[i]); } } public static void main(String[] args) throws IOException { Curso logica = new Curso(); logica.capturarNota(); logica.mostrarNotas();
La cosa es que BufferedReader maneja un 'Buffer' es decir que primero captura en memoria todo lo que recibe y cuando éste se llena, manda el buffer a donde tenga que; es preferente usar la clase Scanner o si quieres manejar Streams la clase InputStream.
----------- EDITADO --------------
Con Scanner (debes importar java.util.Scanner):
Scanner teclado = new Scanner (System.in);
Double nota = teclado.nextDouble();
import java.io.*;
public class Curso
{
public final static int TOTAL_EST = 5;
private double[] notas;
private double temporal;
public Curso()
{
notas = new double[TOTAL_EST];
for( int i = 0; i < notas.length ; i++ )
{
notas[ i ] = 0.0;
}
}
public void capturarNota() throws IOException
{
System.out.println("--------Digite la nota-----------...");
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
for(int i = 0 ; i < notas.length ; i++)
{
temporal = Double.parseDouble(entrada.readLine());
if (temporal >= 0 && temporal < 6)
{
notas[i] = Double.parseDouble(entrada.readLine()); …
}
}
}
public void mostrarNotas() throws IOException
{
for(int i = 0; i< notas.length; i++)
{
System.out.println(notas[i]);
}
}
public static void main(String[] args) throws IOException
{
Curso logica = new Curso();
logica.capturarNota();
logica.mostrarNotas();
Es una clase derivada de Reader y permite hacer exactamente lo mismo que BufferedInputStream, pero permite trabajar con caracteres ojala q te ayude