El error que te sale es porque hay un método ambiguos sobrecargados y el compilador no sabe a que método usar .-
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.-
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
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.-