/ Forside/ Teknologi / Udvikling / Java / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Lave et tekstfelt med tal
Fra : Divad89
Vist : 358 gange
60 point
Dato : 16-02-07 10:07

Jeg skal til at lave en "lommeregner" der kan regne rødder og toppunkter ud, indtil videre har jeg fået lavet dette:

import java.awt.*;
import java.awt.event.*;

class GrafiskVindue extends Frame
{
Label labelac = new Label();
Label labelbc = new Label();
Label labelcc = new Label();
Label labelec = new Label();
TextField textFieldNavnA = new TextField();
TextField textFieldNavnB = new TextField();
TextField textFieldNavnC = new TextField();
Button buttonOpdater = new Button();
TextArea textAreaHilsen = new TextArea();


// Udviklingsværktøj definerer gerne en separat metode hvor de
// initialiserer komponenterne. I JBuilder og JDeveloper hedder
// den jbInit(), mens den hedder initComponents() i Betbeans.
// Initialiseringen kunne dog lige så godt ligge direkte her i konstruktøren

public GrafiskVindue() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}


// Udviklingsværktøjets initialisering af komponenter.
// Ændr med varsomhed, ellers kan værktøjet ikke genkende "sin" kode.

private void jbInit() throws Exception {
labelac.setText("A:");
labelac.setBounds(new Rectangle(5, 63, 15, 15));
textFieldNavnA.setText("5");
textFieldNavnA.setBounds(new Rectangle(25, 60, 60, 29));
labelbc.setText("B:");
labelbc.setBounds(new Rectangle(100, 63, 15, 15));
textFieldNavnB.setText("4");
textFieldNavnB.setBounds(new Rectangle(120, 60, 60, 29));
labelcc.setText("C:");
labelcc.setBounds(new Rectangle(195, 63, 15, 15));
textFieldNavnC.setText("3");
textFieldNavnC.setBounds(new Rectangle(215, 60, 60, 29));
buttonOpdater.setLabel("Regn ud!");
buttonOpdater.setBounds(new Rectangle(290, 60, 91, 29));
buttonOpdater.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonOpdater_actionPerformed(e);
}
});
String ac = textFieldNavnA.getText();
String bc = textFieldNavnB.getText();
String cc = textFieldNavnC.getText();
textAreaHilsen.setText("A værdien er sat til: "+ac+" ,B værdien er sat til: "+bc+" ,C værdien er sat til: "+cc);
textAreaHilsen.setBounds(new Rectangle(5, 130, 500, 78));
this.setLayout(null);
this.add(labelac, null);
this.add(labelbc, null);
this.add(labelcc, null);
this.add(textAreaHilsen, null);
this.add(buttonOpdater, null);
this.add(textFieldNavnA, null);
this.add(textFieldNavnB, null);
this.add(textFieldNavnC, null);
}
String ac = textFieldNavnA.getText();
String bc = textFieldNavnB.getText();

double dc=Math.sqrt(bc^2-4*ac*bc);

void buttonOpdater_actionPerformed(ActionEvent e) {
String ac = textFieldNavnA.getText();
String bc = textFieldNavnA.getText();
textAreaHilsen.setText("Rod 1 er: "+ac+" ,Rod 2 er:"+bc);
repaint(); // gentegn vinduet
}
}

public class andengradsligning1
{
public static void main(String[] arg)
{
GrafiskVindue vindue = new GrafiskVindue(); // opret vinduet
vindue.setSize(600,500); // sæt vinduets størrelse
vindue.setTitle("grafiskvindue"); // sæt vinduets titel
vindue.setVisible(true); // åbn vinduet
}
}

Når jeg skal regne diskriminanten ud, kommer den ud med at man ikke kan gange inde i en tekststreng, jeg ville så vide hvordan man kan lave teksten om til tal, så man godt kan gange ud osv.

Med venlig hilsen
David

 
 
Kommentar
Fra : molokyle


Dato : 16-02-07 11:28

Du skal konvertere din string til chars og derefter chars til integers ...eller bedre string til integers:

http://forum.java.sun.com/thread.jspa?threadID=571418&messageID=2828674

http://java.sun.com/j2se/1.3/docs/api/java/lang/Character.html

Du skal dog sikre dig at brugeren ikke skriver f.eks. 'femogtredive' i stedet for '35'. (Dette sikres ved at datavalidere de indtastede karaktere, således at kun tal kan indtastes ..ikke andre 'tegn').

Jeg er godt nok 'rusten' i Java, men det var præcis hvad jeg gjorde 'dengang' jeg rodede med Java.

</MOLOKYLE>



Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407942
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste