Hola a todos, aqui os dejo, la plantilla, que he creado para solucionar ecuaciones de segundo grado con las dos raizes, como resultado:
/*
* Programa que resuelve ecuaciones de segundo grado
* con capacidad ilimitada.
*/
/*
* Main.java
*
* Created on 20-nov-2009, 15:53:49
*/
package ecuaciones;
/**
*
* @author debci
*/
public class Main extends javax.swing.JFrame {
/** Creates new form Main */
public Main() {
initComponents();
}
/** Definicion de los mtodo y datos para la interfaz
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
Muestra = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
a = new javax.swing.JTextField();
XCuadrado = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
b = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
c = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
Consola = new javax.swing.JTextArea();
btnResolver = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Resolucion de ecuaciones de 2o Grado");
Muestra.setToolTipText("Muestra de la ecuacion de segundo grado");
jLabel1.setText("Resolucion de una ecuacion de segundo grado");
jTextField1.setText("0");
jLabel2.setText("=");
jLabel3.setText("+");
b.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bActionPerformed(evt);
}
});
jLabel4.setText("X");
jLabel5.setText("+");
Consola.setColumns(20);
Consola.setEditable(false);
Consola.setRows(5);
Consola.setText("--Solventador de ecuaciones sencillo--\n--Version beta--\n--Andoni Diaz <andoni94@gmail.com>--\n----------------------------------------------------\n_____________________________________\n----------------------------------------------------\n");
Consola.setToolTipText("Consola de resolucion de ecuaciones");
Consola.setAutoscrolls(true);
jScrollPane1.setViewportView(Consola);
btnResolver.setText("Resolver Ecuacion");
btnResolver.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnResolverActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(68, 68, 68)
.addComponent(jLabel1)
.addContainerGap(84, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(167, Short.MAX_VALUE)
.addComponent(Muestra, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(164, 164, 164))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(a, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(3, 3, 3)
.addComponent(XCuadrado, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(b, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(4, 4, 4)
.addComponent(jLabel4)
.addGap(18, 18, 18)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(c, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(174, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 382, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(55, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(306, Short.MAX_VALUE)
.addComponent(btnResolver)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(15, 15, 15)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Muestra, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
.addComponent(a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(b, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(c, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(XCuadrado, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
.addComponent(btnResolver)
.addContainerGap())
);
pack();
}// </editor-fold>
private void bActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnResolverActionPerformed(java.awt.event.ActionEvent evt) {
int a_i;
int b_i;
int c_i;
int x;
int y;
//Transformacion de valores a entero
a_i = Integer.parseInt(a.getText());
b_i = Integer.parseInt(b.getText());
c_i = Integer.parseInt(c.getText());
//Calculo del primer coeficiente, este es positivo
x=(int) ((-b_i + Math.sqrt(b_i ^ 2 - 4 * a_i * c_i)) / (2 * a_i));
//Calculo del segundo coeficiente, este es negativo
y=(int) ((-b_i - Math.sqrt(b_i ^ 2 - 4 * a_i * c_i)) / (2 * a_i));
String ResultadoX = Integer.toString(x);
String ResultadoY = Integer.toString(y);
Consola.append("Resultados de la ecuacion obtenidos:\n");
Consola.append("X = "+ ResultadoX + "\n");
Consola.append("Y = "+ ResultadoY + "\n");
Consola.append("La dos raizes de la ecuacion son X y Y\n\n");
Consola.append("--------------------------------------\n\n");
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
Muestra.setText("a*x^2+b*x+c");
XCuadrado.setText("X²");
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextArea Consola;
private static javax.swing.JLabel Muestra;
private static javax.swing.JLabel XCuadrado;
private javax.swing.JTextField a;
private javax.swing.JTextField b;
private javax.swing.JButton btnResolver;
private javax.swing.JTextField c;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}
Si, esta hecho con netbeans, al que no le guste que no mire xDDD :¬¬
Sinceramente, diseñar interfaces con netbeans es mas rapido y ahorra tiempo de programacion, y mas os aseguro que antes programaba interfaces con la clase Swing y era un toston.
Bueno disfrutadlo ^^
Saludos
;)
Buen aporte, lastima ese codigo molesto de Netbeans
Cita de: Sir Crapsalot en 20 Noviembre 2009, 17:17 PM
Buen aporte, lastima ese codigo molesto de Netbeans
¬¬'
Pobre netbeans, porque no lo quereis? Simplifica las cosas...
Quien dijo que "aligerar" el trabajo duro era algo malo? Que se aprende menos? (Yo se programar guis y diseñarlas con paleta) Pero no es mejor que se obvien ese tipo de elementos en el aprendizaje de hoy en dia?
Saludos
En el aprendizaje no se deben obviar pues esto de la construcción de GUIs sin ayuda de un GUI Builder es importante. Si ya eres un programador con experiencia y necesitas diseñar la GUI rapidamente, pues vale, ahi si usamos el GUI Builder.
:D jej esta bueno aunke te dire si no usas netbeans le quitarias como 150 lines innecesarias de code yo hago todo en eclipse pero no critico a nadie por dond programa en fin y al cabo cada quien programa dond quiere. y eso nadie creo que podra cambiarlo ;) :rolleyes:
Saludos.
Eso es verdad, yo tambien programo en Eclipse y hago las interfaces sin mucho codigo, pero bueno no soy quien para criticar a los demas. Cada uno programa donde quiere y lo repito, buen aporte ;D
Una de las cosas que mas me gusta de Netbeans es la facilidad con que se crean los ejecutables :D
deja de meter horrible codigo autogenerado a nadie le interesa como meter unos pocos conponentes en mas de 100 lineas que no tienen nada que ver con la logica
Dejenlo xD
A el le gusta hacer sus GUI asi, cada loco con su tema...
Igual es un gran trabajo :)
Cita de: sapito169 en 21 Noviembre 2009, 01:37 AM
deja de meter horrible codigo autogenerado a nadie le interesa como meter unos pocos conponentes en mas de 100 lineas que no tienen nada que ver con la logica
:xD :xD por que dices eso? acaso no manejas java esa es la impresion que das .que programas has echo que aportes has echo? te crees mas importante que los demas pues demuestralo .
Mirad, con todo el respeto que me cabe en el pecho, al que no le guste que no lo use xD
En serio, si no os gusta, no lo useis y ya esta, no hay mas complicacion ^^
Saludos
Ya no desviemos mas el tema xDD
En todo caso es un gran aporte independiente de como haya hecho la GUI ;D
:¬¬ bueno que mas da...el fue el que se metio
Saludos
Programmer
Offtopic:
Yo uso tanto el Netbeans como el ecplise ademas usando el Netbeans metiendo en la configuracion a fondo me puedo ahorrar bastante codigo, pero sinceramente prefiero usar el Eclipse (por el derroche de memoria que tiene el Netbeans)
Ontopic:
Excelente aporte!!!
Aunque encuentro que se puede optimizar un poquitin(sacar un calculo inecesario) y no consideraste si el resultado era complejo, asi que tenerlo para la proxima tiene que hacerlo ;)
Excelente
Cita de: egyware en 28 Noviembre 2009, 18:32 PM
Offtopic:
Yo uso tanto el Netbeans como el ecplise ademas usando el Netbeans metiendo en la configuracion a fondo me puedo ahorrar bastante codigo, pero sinceramente prefiero usar el Eclipse (por el derroche de memoria que tiene el Netbeans)
Ontopic:
Excelente aporte!!!
Aunque encuentro que se puede optimizar un poquitin(sacar un calculo inecesario) y no consideraste si el resultado era complejo, asi que tenerlo para la proxima tiene que hacerlo ;)
Excelente
Tomo nota
;)
Saludos
Hola a todos,
Ya lo han dicho, cada uno hace las cosas como quiere, si x persona programa en netbeans, y k persona en eclipse, y un rarisimo z todavia ataca por linea de comandos. A quien le importa siempre y cuando logre lo que quiere.
Por cierto, buen aporte, gracias por el programa, voy a compilarlo a ver como se ve en la GUI.
Saludos a todos :)
oye decbi lo estuve probando por que lo necesitaba pero me da errores en el resultado cuando inserto a2 b4 -c6 por eso me hice uno propio :xD en eclipse lo colocare por aqui el src por si a alguien le interesa espero no moleste ;)
http://www.mediafire.com/?ymwwhtnyj2m
(http://s2.subirimagenes.com/privadas/879987sl2grado.png)
PD:cuando la solucion es 5/4 y da resultado. odviamente la solucion es 5/4 por que no es divisible
Un saludo!
yo tambien me di cuenta, formula estaba mal expresada me temo xD
Saludos