Opa boa noite, eu fiz o codigo assim tentei com JOptionPane mas somente o primeiro Inpunt vai o segundo não aparece mas sem messagem de erro, copiei o codigo abaixo, assim roda de boa mas quando eu coloco as // antes do Sout não le o segundo Input do JOptionPane import javax.swing.JOptionPane; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner num = new Scanner(System.in); System.out.println("Digite o primeiro valor"); JOptionPane.showInputDialog("Digite um valor"); double num1 = num.nextDouble(); System.out.println("Digite o segundo valor"); JOptionPane.showInputDialog("Digite o sengundo valor"); double num2 = num.nextDouble(); double soma = num1 + num2; double subtracao = num1 - num2; double divisao = num1 / num2; double multiplicacao = num1 * num2; System.out.println("Soma" + soma); System.out.println("Subtração" + subtracao); System.out.println("Divisão" + divisao); System.out.println("Multiplicação" + multiplicacao); JOptionPane.showMessageDialog(null, "O valor de sua conta é: Soma = " + soma); JOptionPane.showMessageDialog(null, "O valor de sua conta é: Subtração = " + subtracao); JOptionPane.showMessageDialog(null, "O valor de sua conta é: Divisão = " + divisao); JOptionPane.showMessageDialog(null, "O valor de sua conta é: Multiplicação = " + multiplicacao); } }
@NaoSeiProgramar3 ай бұрын
Olá amigo, fico feliz por participar do meu pequeno mas humilde canal. Bom, vamos lá! Pelo que percebi, você está usando duas abordagens diferentes para a entrada de dados que é o Scanner e o JOptionPane. Ou seja, o JOptionPane.showInputDialog está sendo usado para exibir um janela de entrada, mas você está tentando capturar os dados com o Scanner (que espera entrada do console). Isso cria uma inconsistência, pois o JOptionPane mostra a janela, mas o valor não é capturado por ele diretamente. O Scanner, por outro lado, tenta capturar a entrada do console. Os System.out.println estão sendo usados para imprimir instruções no console. Quando você comenta esses trechos com '//', eles não afetam diretamente o código, mas como o fluxo geral depende de onde você interage com o usuário (console ou janela gráfica), isso pode fazer com que pareça que o segundo JOptionPane não funciona corretamente. Bom, eu faria assim, escolheria um único método de entrada (ou pelo menos usar o mesmo método consistentemente). Bom aqui vou utilizar somente o JOptionPane, ele deve capturar os valores diretamente, sem o Scanner. Faria assim: import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { String input1 = JOptionPane.showInputDialog("Digite o primeiro valor"); double num1 = Double.parseDouble(input1); // Converte a entrada para double String input2 = JOptionPane.showInputDialog("Digite o segundo valor"); double num2 = Double.parseDouble(input2); // Converte a entrada para double double soma = num1 + num2; double subtracao = num1 - num2; double divisao = num1 / num2; double multiplicacao = num1 * num2; JOptionPane.showMessageDialog(null, "Soma = " + soma); JOptionPane.showMessageDialog(null, "Subtração = " + subtracao); JOptionPane.showMessageDialog(null, "Divisão = " + divisao); JOptionPane.showMessageDialog(null, "Multiplicação = " + multiplicacao); } } Bom, acho que com apenas com janelas gráficas para entrada e saída, vai funfar melhor!
@Lucas-qg9sz3 ай бұрын
@@NaoSeiProgramar vlw pela explicação, tô começando agora na área de programação tô fazendo faculdade de Sistemas de Informação, uma das aulas é programação aplicada que é utilizada o Java, mas eu comecei no meio do curso, e fiquei um pouco perdido, mas já estou correndo atrás, seu canal é ótimo.
@d_rohling2 ай бұрын
@@Lucas-qg9sz Excelente amigo, meu objetivo é captar justamente novos inscritos que estão começando na programação, e essa é uma ótima forma de começar que é praticando bastante. Se possível divulgue esse canal para os companheiros de classe ou em no fórum EAD, abraços.