// pytriple.java - Calculates Pythagorean triples given m and n.
// Written 05/08/2000, James Yolkowski
import java.applet.*;
import java.awt.*;
import java.lang.*;
public class pytriple extends Applet {
TextField m, n, a, b, c;
Button compute;
Label messages;
Label mLabel, nLabel, aLabel, bLabel, cLabel;
public void init() {
resize(300, 96);
m = new TextField(5);
n = new TextField(5);
a = new TextField(5);
b = new TextField(5);
c = new TextField(5);
compute = new Button("Compute");
mLabel = new Label("m: ");
nLabel = new Label("n: ");
aLabel = new Label("a: ");
bLabel = new Label("b: ");
cLabel = new Label("c: ");
messages = new Label(" ");
add(mLabel); add(m);
add(nLabel); add(n);
add(compute);
add(aLabel); add(a);
add(bLabel); add(b);
add(cLabel); add(c);
add(messages);
}
public void paint(Graphics g) {}
public boolean action (Event e, Object O) {
long mInt, nInt, aInt, bInt, cInt;
String tempstr;
if(e.target instanceof Button) {
tempstr = "0";
tempstr = tempstr.concat(m.getText());
mInt = Integer.parseInt(tempstr);
tempstr = "0";
tempstr = tempstr.concat(n.getText());
nInt = Integer.parseInt(tempstr);
if (nInt <= 0 || mInt <= 0)
messages.setText("Value out of range.");
else if (nInt >= mInt)
messages.setText("m not greater than n.");
else {
messages.setText("");
aInt = mInt * mInt - nInt * nInt;
bInt = 2 * mInt * nInt;
cInt = mInt * mInt + nInt * nInt;
a.setText(String.valueOf(aInt));
b.setText(String.valueOf(bInt));
c.setText(String.valueOf(cInt));
}
}
return true;
}
}