Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Fizz Buzz algorithm

807600Sep 24 2007 — edited Sep 27 2007
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
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 25 2007
Added on Sep 24 2007
31 comments
269 views