SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Member
    Join Date
    Nov 2009
    Posts
    12
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Problem with else statement

    Hello,

    I am having a problem with a program that is supposed to monitor correct and incorrect keys typed. The code is below. The problem seems to lie in a else statement within method keytyped. If I comment this else statement out, the program will compile(but not work as I intend it to.

    import java.util.Vector;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    import java.awt.BorderLayout;
    import java.awt.FlowLayout; import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import java.awt.GridLayout;
    import javax.swing.JTextField;
    import java.util.*;



    public class DataEntry extends JFrame implements FocusListener,KeyListener
    {
    private JLabel label1;
    private JLabel label2;
    private JLabel label3;
    private JLabel label4;
    private JPanel Panel1;
    private JPanel Panel2;
    private JPanel Panel3;

    private JTextField textField1;
    private JTextField textField2;
    private JTextField textField3;
    private BorderLayout layout;
    private GridLayout gridLayout1;
    private FlowLayout flowLayout1;

    private String a;
    private String b;
    private String c;
    private String d;
    private String l;
    private int f;
    private int v;
    private int x;
    private int y;
    private int z;
    private int n;
    private int correct=0;
    private int array[]=new int[12];
    private int incorrect=0;
    private int counter2=-1;
    Formatter formatter=new Formatter();
    Formatter formatter2=new Formatter();
    Formatter formatter3=new Formatter();

    public DataEntry()
    {
    super("Data Entry");

    layout = new BorderLayout(5,10);
    flowLayout1= new FlowLayout();
    setLayout(layout);
    Panel1 = new JPanel();
    Panel2=new JPanel();
    Panel3=new JPanel();
    Random randomNumber=new Random();

    for(int counter=0;counter<array.length;counter++){

    array[counter]=randomNumber.nextInt(10);

    }



    formatter.format("%d%d%d%d",array[0],array[1],array[2],array[3]);
    formatter2.format("%d%d%d%d",array[4],array[5],array[6],array[7]);
    formatter3.format("%d%d%d%d",array[8],array[9],array[10],array[11]);
    //d=String.valueOf(z);
    label1=new JLabel(formatter.toString());
    label2=new JLabel(formatter2.toString());
    label3=new JLabel(formatter3.toString());
    label4=new JLabel("");

    add(Panel1,BorderLayout.NORTH);
    Panel1.setLayout(flowLayout1);
    Panel1.add(label1);
    Panel1.add(label2);
    Panel1.add(label3);

    add(Panel2,BorderLayout.SOUTH);
    textField2=new JTextField(4);
    textField3=new JTextField(4);
    textField1=new JTextField(4);
    textField1.addFocusListener(this);
    textField3.addFocusListener(this);
    textField2.addFocusListener(this);
    textField1.setName("David");
    textField1.addKeyListener(this);
    textField2.addKeyListener(this);
    textField3.addKeyListener(this);
    textField2.setName("John");
    textField3.setName("Roger");

    Panel2.add(textField1);
    Panel2.add(textField2);
    Panel2.add(textField3);

    add(Panel3,BorderLayout.CENTER);
    Panel3.setLayout(flowLayout1);
    Panel3.add(label4);



    }
    public void focusGained(FocusEvent e) {
    System.out.println("focusGained");
    if(e.getComponent() instanceof JTextField) {
    JTextField jTextField = (JTextField) e.getComponent();
    if(jTextField.getName() != null && jTextField.getName().equals("David")) {
    label4.setText(formatter.toString());
    }
    if(jTextField.getName() != null && jTextField.getName().equals("John")) {
    label4.setText(formatter2.toString());
    }
    if(jTextField.getName() != null && jTextField.getName().equals("Roger")) {
    label4.setText(formatter3.toString());
    }


    }
    }


    public void focusLost(FocusEvent e) {

    }


    public void keyTyped(KeyEvent e) {
    l=String.format("%s",e.getKeyChar());
    counter2++;
    System.out.printf("%s",l);
    System.out.printf("%d",array[counter2]);
    b=String.valueOf(array[counter2]);
    System.out.printf("%s",b);

    if(l.equals(b)){
    correct++;
    System.out.printf("Correct:%d\nIncorrect:%d\n",correct,incorrect);
    }

    else { {
    incorrect++;
    System.out.printf("Correct:%d\nIncorrect:%d\n",correct,incorrect);

    }


    f++;
    if(f==4){
    textField2.requestFocus();

    }
    if(f==8){
    textField3.requestFocus();
    }
    if(f==12){
    f=0;
    textField1.requestFocus();
    }

    }
    /** Handle the key-pressed event from the text field. */
    public void keyPressed(KeyEvent e) {


    }

    /** Handle the key-released event from the text field. */
    public void keyReleased(KeyEvent e) {

    }



    }

  2. #2
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,578
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    else { {
    You have an extra curly brace right on that line

    Normally I understand overlooking things, but this one really stands out!


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •