Diverse udvidelser til kode
Hejjeg har gang i noget kode, og det virker også fint
men jeg vil gerne lave nogle udvidelser:
1.) Hvis felterne er NULL skal de sættes til 0
2.) Resultatet skal retuneres med 3 decimaler.
Så hvordan kan jeg gøre dette ?
## Koden ##
/**
@Author: Claus Joergensen
@date 19. August 2004
*/
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
public class GridBagDemo extends JFrame {
JLabel overskrift = new JLabel( " Indtast a,b & c " );
JTextField inputA = new JTextField(4);
JTextField inputB = new JTextField(4);
JTextField inputC = new JTextField(4);
JLabel underskrift = new JLabel( " Antal Nulpunkter " );
JLabel blank = new JLabel("\n");
JLabel blank2 = new JLabel("\n");
JTextField antalNP = new JTextField(4);
JLabel xValues = new JLabel( " X-værdier" );
JTextField xPlus = new JTextField(2);
JTextField xMinus = new JTextField(2);
JButton udregnKnap = new JButton("Udregn !");
public GridBagDemo() {
super( "GridBagLayout" );
Container container = getContentPane();
GridBagLayout layout = new GridBagLayout();
container.setLayout(layout);
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 3;
constraints.gridheight = 8;
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 3;
constraints.gridheight = 1;
layout.setConstraints(overskrift,constraints); // Tilføjer overskriften
container.add(overskrift);
/*********** START INPUTS **********************************************/
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(inputA,constraints); // Add inputA
container.add(inputA);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 1;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(inputB,constraints); // Add inputB
container.add(inputB);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 2;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(inputC,constraints); // Add inputC
container.add(inputC);
/*********** END INPUTS *********** Start Nulpunkter *******************/
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 3;
constraints.gridheight = 1;
layout.setConstraints(blank,constraints); // Blank space
container.add(blank);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 3;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(underskrift,constraints); // Add nulpunks lablet
container.add(underskrift);
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.gridx = 1;
constraints.gridy = 3;
constraints.gridwidth = 2;
constraints.gridheight = 1;
layout.setConstraints(antalNP,constraints); // Add antal nulpunker
container.add(antalNP);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 4;
constraints.gridwidth = 3;
constraints.gridheight = 1;
layout.setConstraints(blank2,constraints); // Blank space
container.add(blank2);
/*********** END nulpunker *********** Start xværdier *******************/
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 5;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(xValues,constraints); // Add antal en label mere
container.add(xValues);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 6;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(xPlus,constraints); // x+
container.add(xPlus);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 0;
constraints.gridy = 7;
constraints.gridwidth = 1;
constraints.gridheight = 1;
layout.setConstraints(xMinus,constraints); // x-
container.add(xMinus);
constraints.fill = GridBagConstraints.BOTH;
constraints.gridx = 1;
constraints.gridy = 6;
constraints.gridwidth = 2;
constraints.gridheight = 2;
layout.setConstraints(udregnKnap,constraints); // Knappen som udregner resultatet.
container.add(udregnKnap);
udregnKnap.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
udregnKnapActionPerformed(evt);
}
}
);
setSize( 250, 270 );
setVisible( true );
}
private void udregnKnapActionPerformed(ActionEvent evt) {
double a = Integer.parseInt(inputA.getText());
double b = Integer.parseInt(inputB.getText());
double c = Integer.parseInt(inputC.getText());
double xPlusRes = (-b + (Math.sqrt((b*b)-4*a*c))) / (a * 2);
String xPlusString = String.valueOf(xPlusRes);
xPlus.setText(xPlusString);
double xMinusRes = (-b - (Math.sqrt((b*b)-4*a*c))) / (a * 2);
String xMinusString = String.valueOf(xMinusRes);
xMinus.setText(xMinusString);
}
public static void main( String args[] ) {
GridBagDemo application = new GridBagDemo();
application.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE );
}
}
