Exercicio JOptionPane ! [resolvido]!

eu quero colocar o valor de um numero inserido por JOptionPane e multiplicalo a 0,25
para conseguir uma porcentagem do valor do produto que foi vendido (teoricamente)
mais ocorre um certo problema , eu nao consigo fazer o JOptionPane receber um valor

[code]
package exer8;

import javax.swing.JOptionPane;

public class Exer8 {

public static void main(String[] args) {
    
    String nomep ;
    String valorp;
    double comisao = 0.25;
    double result;
    
   
    
    
    nomep = JOptionPane.showInputDialog(null,"escreva o nome do produto ");
    valorp = JOptionPane.showInputDialog(null,"digite o valor ");
    result = comisao * valorp;
    System.out.print("o valor de sua comisão " + nomep + " è " + result);
   [/code]

esse e o código que tentei usar , mais deu erro, se alguem puder me ajudar com isso pro favor ficaria grato.

Você está tentando multiplicar uma String por um double!

faça assim que vai funcionar:

result = comisao * Double.parseDouble(valorp); 

a onde subistiru o esse código ? e so acrescentar , ou tem um lugar certo a crescentar ele ?

Onde você está multiplicando uma String?

Olhe abaixo, você está recebendo uma String, e tentando multipliar por um double

result = comisao * valorp; 

Troque isso ae pelo o que foi postado.

Caro “marks!”,

Tbm sou iniciante em Java, mas eu li algo a respeito do seu problema. Acredito que vc tera que realizar uma conversão do tipo “Double” pois a variável “valorp” é do tipo “String”.

// Conforme abaixo result = comisao * Double.parseDouble(valorp);

Você tambem poderá realizar esta conversão com outros tipos de variaveis (int, double,float), pois como padrão a classe “JOptionPane” retorna “String” por isso deve conter “Integer.ParseInt”.

[code]// PROGRAMA BÁSICO DE SOMA

int valor1;
int valor2;

valor1 = Integer.parseInt(JOptionPane.showInputDialog(null, “Informe o primeiro numero”));
valor2 = Integer.parseInt(JOptionPane.showInputDialog(null, “Informe o segundo numero”));

int resultado = valor1 + valor2;

System.out.println( "O resultado é: " + resultado);[/code]

Espero ter ajudado.

Abraço!!

hum… realmente não sabia que era possível fazer isto, converter um valor double, mais seria possível converter floats,Strings ou ints ?

o código para essa conversão é Integer.parseInt ?

marks!

Vc não esta convertendo um valor “Double”, vc esta convertendo um valor “String” para “Double”.

A classe “JOptionPane” como padrão retorna o tipo “String” e como vc esta querendo um retorno “Double” vc deve converter!

// Vc pode converter todos os tipos de variáveis... Integer.parseInt(valorp) Float.parseFlo(valorp) Double.parseDou(valorp)

Abrass!