Help Fix coding Stop Watch

I am coding a stop watch using two buttons and want to make it so I can hold one button down and not get it to keep reseting the clock. and visversa for stoping it I don't want it to keep out putting numbers
unsigned long start, finished, elapsed;

void setup()
{
Serial.begin(9600);
pinMode(2, INPUT); // the start button
pinMode(3, INPUT); // the stop button
Serial.println("Press 1 for Start/reset, 2 for elapsed time");
}
void displayResult()
{
float h, m, s, ms;
unsigned long over;
elapsed = finished - start;
h = int(elapsed / 3600000);
over = elapsed % 3600000;
m = int(over / 60000);
over = over % 60000;
s = int(over / 1000);
ms = over % 1000;
Serial.print("Raw elapsed time: ");
Serial.println(elapsed);
Serial.print("Elapsed time: ");
Serial.print(h, 0);
Serial.print("h ");
Serial.print(m, 0);
Serial.print("m ");
Serial.print(s, 0);
Serial.print("s ");
Serial.print(ms, 0);
Serial.println("ms");
Serial.println();
}
void loop()
{
if (digitalRead(2) == HIGH)
{
start = millis();
delay(200); // for debounce
Serial.println("Started...");

}
if (digitalRead(3) == HIGH) {
finished = millis();
delay(200); // for debounce
displayResult();
} }

Screen Shot 2014-03-24 at 10.01.56 AM.png

       delay(200); // for debounce

The crappiest switch imaginable won't bounce for anywhere near that long.

It isn't clear what the code actually does, or how that differs from what you want.

I suspect, though, that debouncing is NOT what you need to do. What you need to do is detect when the switch changes state, from not pressed to pressed. See the state change detection example.