while con respuesta
Publicado por Josue (7 intervenciones) el 06/10/2008 06:20:33
hola amigos quisiera saber si alguien me puede ayudar tengo un programa quisiera saber como puedo hacer un while con respuesta con un JOptionPane.showMessagedialog(null,"mensaje", "titulo barra", YES_NO_OPTION) es algo asi es que no logro que me funcione aqui esta el programa corre pero solo le falta eso ya que no se cierra porque no se como leer la respuesta con ese messagedialog se lo agradeceria de antemano que me ayuden
import java.io.*;
import javax.swing.JOptionPane;
class SerExpress {
private String servicio;
private int tipopaque;
private double kilos;
public void asignar (String s1, int t1, double k1){
tipopaque = t1; servicio = s1; kilos = k1; }
public double calcular(){
double libras;
libras = kilos * 2.2;
return libras; }
public double calcularC(double libra){
double total = 0;
if ((tipopaque == 1 || tipopaque == 2 || tipopaque == 4) && (servicio.equalsIgnoreCase("DSP")))
total = 10.00 + 1.25 * (libra -1);
else if ((tipopaque == 1 || tipopaque == 2 || tipopaque == 4) && servicio.equalsIgnoreCase("DSN"))
total = 8.00 + 1 * (libra - 1);
else if ((tipopaque == 1 || tipopaque == 2 || tipopaque == 4) && servicio.equalsIgnoreCase("NOD"))
total = 4.00 + 0.50 * (libra - 1);
else if (tipopaque == 3 && servicio.equalsIgnoreCase("DSP"))
total = 20.00;
else if (tipopaque == 3 && servicio.equalsIgnoreCase("DSN"))
total = 10.00;
return total; }
public String traerP(){
String paquete;
if (tipopaque == 1)
paquete = "Caja";
else if (tipopaque == 2)
paquete = "Bolsa";
else if (tipopaque == 3)
paquete = "Carta";
else
paquete = "Maleta";
return paquete; }
public String traerT(){
String tipo = "";
if (servicio.equalsIgnoreCase("DSP"))
tipo = "Prioritario";
else if (servicio.equalsIgnoreCase("DSN"))
tipo = "Normal";
else if (servicio.equalsIgnoreCase("NOD"))
tipo = "No DIsponible";
return tipo; }
}
class Entrega { public static void main (String arg [])throws IOException {
String input, prueba = "", tipservic = ""; int resp = 1;
int tipaque = 0, op = 0; boolean leido = true;
double kilos = 0, libras;
SerExpress mensajero = new SerExpress();
while (resp == 1){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el tipo de paquete:" + " 1. Caja" + " 2. Bolsa" + " 3. Carta" + " 4. Maletas" + " ","Tipo de Paquete", JOptionPane.QUESTION_MESSAGE);
tipaque = Integer.parseInt(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "No es un número, es una cadena de texto.", "Error", JOptionPane.ERROR_MESSAGE);
leido = false;
} }while (!leido);
while (tipaque > 4 || tipaque <= 0){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el tipo de paquete:" + " 1. Caja" + " 2. Bolsa" + " 3. Carta" + " 4. Maletas" + " ","Tipo de Paquete", JOptionPane.QUESTION_MESSAGE);
tipaque = Integer.parseInt(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "No es un número, es una cadena de texto.", "Error", JOptionPane.ERROR_MESSAGE);
leido = false;
} }while (!leido);
}
while (op == 0){
tipservic = JOptionPane.showInputDialog(null, "Introduzca el tipo servicio:" + " DSP = Día siguiente Pioritario" + " DSN = Día siguiente Normal" + " NOD = 2 Días");
if (tipservic.equalsIgnoreCase("NOD") && tipaque == 3)
JOptionPane.showMessageDialog(null, "EL servicio de dos dias no esta disponible para cartas");
else if (tipservic.equalsIgnoreCase("NOD") || tipservic.equalsIgnoreCase("DSP") || tipservic.equalsIgnoreCase("DSN"))
op = 1;
else
JOptionPane.showMessageDialog(null, "No Introdujo un tipo de servicio correcto", "Error", JOptionPane.ERROR_MESSAGE);
}
if (tipaque != 3){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el peso del paquete en kilos");
kilos = Double.parseDouble(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "No es un número, es una cadena de texto.", "Error", JOptionPane.ERROR_MESSAGE);
leido = false;
} }while (!leido);
while (kilos < 0){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el peso del paquete en kilos");
kilos = Double.parseDouble(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "Un kilogramo es el peso mínimo", "Info", JOptionPane.INFORMATION_MESSAGE);
leido = false;
} }while (!leido);}
}
mensajero.asignar(tipservic, tipaque, kilos);
op = 0;
JOptionPane.showMessageDialog(null, " Paquete: " + mensajero.traerP () + " Peso: " + mensajero.calcular() + " Libras" + " Tipo de Servicio: " + mensajero.traerT() + " Costo total: $" + mensajero.calcularC(mensajero.calcular()));
}
}
}
import java.io.*;
import javax.swing.JOptionPane;
class SerExpress {
private String servicio;
private int tipopaque;
private double kilos;
public void asignar (String s1, int t1, double k1){
tipopaque = t1; servicio = s1; kilos = k1; }
public double calcular(){
double libras;
libras = kilos * 2.2;
return libras; }
public double calcularC(double libra){
double total = 0;
if ((tipopaque == 1 || tipopaque == 2 || tipopaque == 4) && (servicio.equalsIgnoreCase("DSP")))
total = 10.00 + 1.25 * (libra -1);
else if ((tipopaque == 1 || tipopaque == 2 || tipopaque == 4) && servicio.equalsIgnoreCase("DSN"))
total = 8.00 + 1 * (libra - 1);
else if ((tipopaque == 1 || tipopaque == 2 || tipopaque == 4) && servicio.equalsIgnoreCase("NOD"))
total = 4.00 + 0.50 * (libra - 1);
else if (tipopaque == 3 && servicio.equalsIgnoreCase("DSP"))
total = 20.00;
else if (tipopaque == 3 && servicio.equalsIgnoreCase("DSN"))
total = 10.00;
return total; }
public String traerP(){
String paquete;
if (tipopaque == 1)
paquete = "Caja";
else if (tipopaque == 2)
paquete = "Bolsa";
else if (tipopaque == 3)
paquete = "Carta";
else
paquete = "Maleta";
return paquete; }
public String traerT(){
String tipo = "";
if (servicio.equalsIgnoreCase("DSP"))
tipo = "Prioritario";
else if (servicio.equalsIgnoreCase("DSN"))
tipo = "Normal";
else if (servicio.equalsIgnoreCase("NOD"))
tipo = "No DIsponible";
return tipo; }
}
class Entrega { public static void main (String arg [])throws IOException {
String input, prueba = "", tipservic = ""; int resp = 1;
int tipaque = 0, op = 0; boolean leido = true;
double kilos = 0, libras;
SerExpress mensajero = new SerExpress();
while (resp == 1){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el tipo de paquete:" + " 1. Caja" + " 2. Bolsa" + " 3. Carta" + " 4. Maletas" + " ","Tipo de Paquete", JOptionPane.QUESTION_MESSAGE);
tipaque = Integer.parseInt(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "No es un número, es una cadena de texto.", "Error", JOptionPane.ERROR_MESSAGE);
leido = false;
} }while (!leido);
while (tipaque > 4 || tipaque <= 0){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el tipo de paquete:" + " 1. Caja" + " 2. Bolsa" + " 3. Carta" + " 4. Maletas" + " ","Tipo de Paquete", JOptionPane.QUESTION_MESSAGE);
tipaque = Integer.parseInt(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "No es un número, es una cadena de texto.", "Error", JOptionPane.ERROR_MESSAGE);
leido = false;
} }while (!leido);
}
while (op == 0){
tipservic = JOptionPane.showInputDialog(null, "Introduzca el tipo servicio:" + " DSP = Día siguiente Pioritario" + " DSN = Día siguiente Normal" + " NOD = 2 Días");
if (tipservic.equalsIgnoreCase("NOD") && tipaque == 3)
JOptionPane.showMessageDialog(null, "EL servicio de dos dias no esta disponible para cartas");
else if (tipservic.equalsIgnoreCase("NOD") || tipservic.equalsIgnoreCase("DSP") || tipservic.equalsIgnoreCase("DSN"))
op = 1;
else
JOptionPane.showMessageDialog(null, "No Introdujo un tipo de servicio correcto", "Error", JOptionPane.ERROR_MESSAGE);
}
if (tipaque != 3){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el peso del paquete en kilos");
kilos = Double.parseDouble(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "No es un número, es una cadena de texto.", "Error", JOptionPane.ERROR_MESSAGE);
leido = false;
} }while (!leido);
while (kilos < 0){
do { try{
input = JOptionPane.showInputDialog(null, "Introduzca el peso del paquete en kilos");
kilos = Double.parseDouble(input);
leido = true;
}
catch(NumberFormatException er){
JOptionPane.showMessageDialog(null, "Un kilogramo es el peso mínimo", "Info", JOptionPane.INFORMATION_MESSAGE);
leido = false;
} }while (!leido);}
}
mensajero.asignar(tipservic, tipaque, kilos);
op = 0;
JOptionPane.showMessageDialog(null, " Paquete: " + mensajero.traerP () + " Peso: " + mensajero.calcular() + " Libras" + " Tipo de Servicio: " + mensajero.traerT() + " Costo total: $" + mensajero.calcularC(mensajero.calcular()));
}
}
}
Valora esta pregunta


0