Ej: 10 - Primo Menor : 7
Hasta ahora llevo este codigo, pero no se si tenga que hacer un ciclo for independiente para ir restando el numero a entrada, medio realize una interfaz pequeña, alguna sugerencia ?
Código
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Main extends JFrame
{
private JLabel total, primo;
private JTextField numero;
private JButton calcular;
//constructor sin argumentos
public Main()
{
crearInterfazdeUsuario();
}
//
public void crearInterfazdeUsuario()
{
Container contentPane = getContentPane();
contentPane.setLayout( null );
primo = new JLabel();
primo.setText("Numero:");
primo.setBounds(05, 25, 91, 21);
contentPane.add(primo);
numero = new JTextField();
numero.setBounds(62, 28, 70, 20);
numero.setHorizontalAlignment(
JTextField.RIGHT);
contentPane.add(numero);
total = new JLabel();
total.setBounds( 45, 115, 500, 21 );
contentPane.add(total);
calcular = new JButton();
calcular.setText( "Calcular" );
calcular.setBounds( 45, 75, 94, 24 );
contentPane.add( calcular );
calcular.addActionListener(
new ActionListener() //
{
public void actionPerformed( ActionEvent event )
{
calcularJButtonActionPerformed( event );
}
}
); //
setTitle( "Primos ?" ); //
setSize( 200, 200 ); //
setVisible( true ); //
} //
private void calcularJButtonActionPerformed( ActionEvent event )
{
try
{
int i = Integer.parseInt(numero.getText());
int c;
String result = "";
for(c = 2; c < i ; c++)
{
if( i % c == 0)
{
result = i + " No es primo.";
i--;
if ( c == i/2)
{
result = i + " Primo Menor.";
}
//break;
}
if(c == i/2)
{
result = i + " Es primo.";
i--;
if ( c == i/2)
{
result = i + " Primo Menor.";
}
//break;
}
}
total.setText(result);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Ingrese un valor numerico", "Valor Numerico No encontrado", JOptionPane.ERROR_MESSAGE);
}
}
public static void main( String[] args )
{
Main application = new Main();
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
Solo deje los de si es primo o no es primo para determinar si si entraba al ciclo, cualquier sugerencia es bienvenida muchas gracias de antemano, apenas estoy comenzando con esto disculpen mi nivel noob ._.
Pd: Espero que no haya cometido algun error ? en lo referente al post por que en el codigo xD si que debe haber errores










Autor


En línea


Muchas Gracias , solo le arregle una linea nueva para cuando sea par saque el menor primo de ese numero, aunque es algo medio inventado pero muchas gracias.. dejo el codigo final.