Autor Tema: reference to format is ambiguous both method format(S...) match NetBeans JOption  (Leído 2789 veces)

IvanTM

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Qué tal, estoy empezando a ver el tema de netbeans y estamos con JOption y los recuadros de diálogo. Este es mi programa, casi todo compila bien sale el recuadro excepto el ultimo que me tiene que mostrar los datos que se ingresan y de hecho me sale el siguiente mensaje

reference to format is ambiguous both method format(String,Object...) in String and method format(Locale,String,Object...) in String match

Código: [Seleccionar]
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package estructuradatos;

import javax.swing.JOptionPane;

/**
 *
 * @author wordl
 */
public class SistemaINE {
    public static void main (String[] args, String String) {
    int edad, Nocalle, cp;
    String nom, apellidopaterno, apellidomaterno, fechanacimiento, nomcalle, municipio, estado;
   
   String n = JOptionPane.showInputDialog ("Ingrese su edad");
   edad = Integer.parseInt(n);
   
    if (edad >17) {
       
    String mensaje = String.format("Si puede votar", edad);
    JOptionPane.showMessageDialog(null,mensaje);
   
     String a = JOptionPane.showInputDialog ("Ingrese Nombre del ciudadano");
    nom=(a);
   
    String b = JOptionPane.showInputDialog ("Ingrese Apellido Paterno");
    apellidopaterno= (b);
   
    String c = JOptionPane.showInputDialog ("Ingrese Apellido Materno");
    apellidomaterno= (c);
   
    String d = JOptionPane.showInputDialog ("Ingrese su edad");
    edad= Integer.parseInt(d);
   
    String e = JOptionPane.showInputDialog ("Ingrese su fecha de nacimiento");
    fechanacimiento= (e);
   
    String f = JOptionPane.showInputDialog ("Ingrese el nombre de su calle");
    nomcalle= (f);
   
    String g = JOptionPane.showInputDialog ("Ingrese el numero de su vivienda");
    Nocalle= Integer.parseInt(g);
   
    String h = JOptionPane.showInputDialog ("Ingrese su codigo postal");
    cp= Integer.parseInt(h);
   
    String i = JOptionPane.showInputDialog ("Ingrese el municipio");
    municipio= (i);
   
    String j = JOptionPane.showInputDialog ("Ingrese estado al que pertenece");
    estado= (j);
   
    String mensaje3 = String.format(null,"Nombre del ciudadano:   %s\n Apellido Paterno:   %s\n Apellido Materno:   %s\n edad:   %s\n Fecha de nacimiento:   %s\n Nombre de la calle:   %s\n Numero de la calle:   %s\n Codigo Postal:   %s\n Municipio:   %s\n Estado:   %s\n",nom,apellidopaterno,apellidomaterno,edad,fechanacimiento,nomcalle,Nocalle,cp,municipio,estado);
    JOptionPane.showMessageDialog(null,mensaje3);
   
    }
    else {
   
    String mensaje2 = String.format("No puede votar");
    JOptionPane.showMessageDialog(null,mensaje2);
   
   
   
           
    }
    }
   
}



Gracias
« Última modificación: 19 de Julio 2020, 19:49 por Ogramar »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:net beans JOption cuadro de dialogo
« Respuesta #1 en: 31 de Agosto 2019, 16:22 »
Te recomiendo que para publicar en el foro tenes que leas las reglas de publicación.-
https://aprenderaprogramar.com/foros/index.php?topic=1460.0
« Última modificación: 19 de Julio 2020, 19:50 por Ogramar »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:net beans JOption cuadro de dialogo
« Respuesta #2 en: 31 de Agosto 2019, 16:28 »
El error que te sale es porque hay un método ambiguos sobrecargados y el compilador no sabe a que método usar .-
Código: [Seleccionar]
String mensaje3 = String.format(null,"Nombre del ciudadano:   %s\n Apellido Paterno:   %s\n Apellido Materno:   %s\n edad:   %s\n Fecha de nacimiento:   %s\n Nombre de la calle:   %s\n Numero de la calle:   %s\n Codigo Postal:   %s\n Municipio:   %s\n Estado:   %s\n",nom,apellidopaterno,apellidomaterno,edad,fechanacimiento,nomcalle,Nocalle,cp,municipio,estado);El error esta en este codigo ya que le pudiste null al principio que no entiendo bien porque al corregir este el programa ya funciona.-
Código: [Seleccionar]
mensaje = String.format("Nombre del ciudadano:   %s\n Apellido Paterno:   %s\n Apellido Materno:   %s\n edad:   %s\n Fecha de nacimiento:   %s\n Nombre de la calle:   %s\n Numero de la calle:   %s\n Codigo Postal:   %s\n Municipio:   %s\n Estado:   %s\n", nom, apellidopaterno, apellidomaterno, edad, fechanacimiento, nomcalle, Nocalle, cp, municipio, estado);El código quedaría así otra cosa no es necesario declarar variable innecesario ejemplo mensaje, menasaje1, etc ya que el estado de la variable cambia dependiendo de la condición en este caso solo necesita una variable
Código: [Seleccionar]
package sistemaine;

import javax.swing.JOptionPane;

public class SistemaINE {

    public static void main(String[] args) {
        int edad, Nocalle, cp;
        String nom, apellidopaterno, apellidomaterno, fechanacimiento, nomcalle, municipio, estado;

        String n = JOptionPane.showInputDialog("Ingrese su edad");
        edad = Integer.parseInt(n);
        String mensaje = "";

        //String men
        if (edad > 17) {
            mensaje = String.format("Si puede votar", edad);
            JOptionPane.showMessageDialog(null, mensaje);

            String a = JOptionPane.showInputDialog("Ingrese Nombre del ciudadano");
            nom = (a);

            String b = JOptionPane.showInputDialog("Ingrese Apellido Paterno");
            apellidopaterno = (b);

            String c = JOptionPane.showInputDialog("Ingrese Apellido Materno");
            apellidomaterno = (c);

            String d = JOptionPane.showInputDialog("Ingrese su edad");
            edad = Integer.parseInt(d);

            String e = JOptionPane.showInputDialog("Ingrese su fecha de nacimiento");
            fechanacimiento = (e);

            String f = JOptionPane.showInputDialog("Ingrese el nombre de su calle");
            nomcalle = (f);

            String g = JOptionPane.showInputDialog("Ingrese el numero de su vivienda");
            Nocalle = Integer.parseInt(g);

            String h = JOptionPane.showInputDialog("Ingrese su codigo postal");
            cp = Integer.parseInt(h);

            String i = JOptionPane.showInputDialog("Ingrese el municipio");
            municipio = (i);

            String j = JOptionPane.showInputDialog("Ingrese estado al que pertenece");
            estado = (j);

            mensaje = String.format("Nombre del ciudadano:   %s\n Apellido Paterno:   %s\n Apellido Materno:   %s\n edad:   %s\n Fecha de nacimiento:   %s\n Nombre de la calle:   %s\n Numero de la calle:   %s\n Codigo Postal:   %s\n Municipio:   %s\n Estado:   %s\n", nom, apellidopaterno, apellidomaterno, edad, fechanacimiento, nomcalle, Nocalle, cp, municipio, estado);
            JOptionPane.showMessageDialog(null, mensaje);

        } else {

            mensaje = String.format("No puede votar");
            JOptionPane.showMessageDialog(null, mensaje);

        }

    }
}
Otra observación o como ejercicios seria bueno que valide los campos numérico y fecha para que no inserte valor que no sea valido.-

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".