Here is my code block and I am trying to figure out how to make a fizz or a buzz show up if the variable "val" contains either a number in the fizzVal or buzzVal variable. I already have it set up so that a multiple of fizzVal or buzzVal returns the txtFizz or txtBuzz all I need is some help on getting txtBuzz or txtFizz to appear in the out string if the value has fizzVal or buzzVal in it.
Here is a link to what fizz buzz is:
http://en.wikipedia.org/wiki/Bizz_buzz
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/**
*
* @author jlsager
*/
public class FizzerBuzzer extends javax.swing.JFrame implements ActionListener, ChangeListener {
private JRadioButton[] rbBuzzer = new JRadioButton[10];
private JRadioButton[] rbFizzer = new JRadioButton[10];
private int fizzVal = 3;
private int buzzVal = 5;
/** Creates new form NewJFrame */
public FizzerBuzzer() {
initComponents();
spinValue.setValue(3);
initBuzzerButtons();
initFizzerButtons();
this.setSize(560,370);
this.setTitle("Flexible Fizzer-Buzzer");
btnGo.addActionListener(this);
spinValue.addChangeListener(this);
rbFizzer[fizzVal].setSelected(true);
rbBuzzer[buzzVal].setSelected(true);
fizzBuzz(3);
}
private void initBuzzerButtons() {
ButtonGroup buzzerGroup = new javax.swing.ButtonGroup();
int X = 130;
int Y = 145;
int xIncr = 45;
for (int i=3; i<10; i++) {
rbBuzzer[i] = new JRadioButton();
rbBuzzer.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
rbBuzzer[i].setMargin(new java.awt.Insets(0, 0, 0, 0));
getContentPane().add(rbBuzzer[i], new org.netbeans.lib.awtextra.AbsoluteConstraints(X, Y, -1, -1));
X += xIncr;
buzzerGroup.add(rbBuzzer[i]);
rbBuzzer[i].addActionListener(this);
}
}
private void initFizzerButtons() {
ButtonGroup fizzerGroup = new javax.swing.ButtonGroup();
int X = 130;
int Y = 120;
int xIncr = 45;
for (int i=3; i<10; i++) {
rbFizzer[i] = new JRadioButton();
}
for (int i=3; i<10; i++) {
rbFizzer[i] = new JRadioButton();
rbFizzer[i].setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
rbFizzer[i].setMargin(new java.awt.Insets(0, 0, 0, 0));
getContentPane().add(rbFizzer[i], new org.netbeans.lib.awtextra.AbsoluteConstraints(X, Y, -1, -1));
X += xIncr;
fizzerGroup.add(rbFizzer[i]);
rbFizzer[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == btnGo) {
int val = ((Integer)spinValue.getValue()).intValue();
fizzBuzz(val);
}
for (int i=3; i<10; i++) {
if (src == rbFizzer[i]) {
fizzVal = i;
fizzBuzz(((Integer)spinValue.getValue()).intValue());
return;
}
if (src == rbBuzzer[i]) {
buzzVal = i;
fizzBuzz(((Integer)spinValue.getValue()).intValue());
return;
}
}
}
public void stateChanged(ChangeEvent e) {
Object src = e.getSource();
if (src == spinValue) {
int val = ((Integer)spinValue.getValue()).intValue();
fizzBuzz(val);
}
}
private void fizzBuzz(int val) {
//Implement your Fizz Buzz Algorithm Here...
String out = "";
String str = new Integer(val).toString();
if
(( val % fizzVal) == 0) out += txtFizz.getText();
if
(( val % buzzVal) == 0) out += txtBuzz.getText();
if
( val == buzzVal) out += txtBuzz.getText();
if
( val == fizzVal) out += txtFizz.getText();
if (out.equals("")) out = str;
txtOut.setText(out);
}
private int getFizzer() {
for (int i=3; i<10; i++) {
if (rbFizzer[i].isSelected()) return i;
}
return -1;
}
private int getBuzzer() {
for (int i=3; i<10; i++) {
if (rbBuzzer[i].isSelected()) return i;
}
return -1;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FizzerBuzzer().setVisible(true);
}
});
}
Edited by: Chicolax7 on Sep 24, 2007 8:11 PM