Java netbeans

O código que eu escrevi aí em baixo pede que os usuários para introduzir 4 valores os dois primeiros usando o Scanner, o terceiro usando BufferedReader e o último valor usando JOptionPane.
Quando eu corri este programa no NetBeans sem linha de códigos de JOptionPane o programa funcionou muito bem.
Mas quando eu adiciono a linha de códigos da JOptionPane o programa continua pedindo novas entradas após a execucao da linha de codigos de BufferedReader.

Você pode me dar uma ajuda?

package exercicioaula6fdp;
import java.io.*;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class ExercicioAula6Fdp {

    public static void main(String[] args) {
// Entrada de dois valores com a classe Scanner
        Scanner entrada1 = new Scanner(System.in);
        System.out.print("Introduza a primeira nota: ");
        double a = entrada1.nextDouble();
        Scanner entrada2 = new Scanner(System.in);
        System.out.print("Introduza a segunda nota:  ");
        double b = entrada2.nextDouble();
// Entrada de um valor com a classe BufferedReader
        BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
        String valor = "";
        System.out.print("Introduza a terceira nota: ");
        try {
            valor = entrada.readLine();
        } catch (IOException e) {
            System.out.println("Error!");
        }
        double c = Double.parseDouble(valor);
//Entrada de um valor com a classe JOptionPane    
    String n4= "";
    n4  = JOptionPane.showInputDialog("Digite a quarta nota: ");
    double d = Double.parseDouble(n4);
    double media=(a+b+c+d)/4;     
        System.out.println("Primeiro teste: "+a);
        System.out.println("Segundo teste: "+b);
        System.out.println("Terceiro teste: "+c);
        System.out.println("Quarto teste: "+d);
        System.out.printf("A media dos testes e: %.1f ",media);
    }
}

Olha testei seu código e está funcionando, após digitar no console do NetBeans minimize ele que você vai ver a caixa do JOptionPane. É como se você tiver pressionado fora da tela do JOptionPane após ele aparecer.

Outra coisa, não precisa criar um Scanner para cada entrada.

Scanner input = new Scanner(System.in);
// Entrada de dois valores com a classe Scanner
System.out.print("Introduza a primeira nota: ");
double a = input.nextDouble();
System.out.print("Introduza a segunda nota: ");
double b = input.nextDouble();</code>
1 curtida

Obrigado mesmo…

1 curtida