Code for Push button key pad not working as expected

So I’m trying to write this code where someone can enter a number below 1000, and have it be displayed to the serial monitor. I have pushbuttons numbered 0-9, and I am trying to enter 120. So the way I expect it to work would be first displaying 0 (because nothing is being entered, and i is equal to/below 2) but as soon as I start pushing buttons the monitor should display 100, 120, 120. Instead it is displaying 8, 30, 30. I’ve gone over my code a couple of times but I still don’t know where I’ve gone wrong.

Any help would be great, and I attached my code.

ButtonCode0_9.ino (3.21 KB)

What should this code do in your code ?

10^i

What does it actually do in your code ?

This page may be instructive & - Arduino Reference

const int button0 = 23;
const int button1 = 24;
const int button2 = 27;
const int button3 = 28;
const int button4 = 31;
const int button5 = 32;
const int button6 = 35;
const int button7 = 36;
const int button8 = 39;
const int button9 = 40;

int button0_state = 0;
int button1_state = 0;
int button2_state = 0;
int button3_state = 0;
int button4_state = 0;
int button5_state = 0;
int button6_state = 0;
int button7_state = 0;
int button8_state = 0;
int button9_state = 0;

int lbutton0_state = 0; //Last button state
int lbutton1_state = 0;
int lbutton2_state = 0;
int lbutton3_state = 0;
int lbutton4_state = 0;
int lbutton5_state = 0;
int lbutton6_state = 0;
int lbutton7_state = 0;
int lbutton8_state = 0;
int lbutton9_state = 0;

It's rather hard to concentrate on your code, with all it's screaming for the use of arrays. Sorry, I've got a headache, and I can't listen to all that screaming.

@UKHeliBob, thank you so much that was exactly my problem. I'm used to MATLAB, and I didn't even consider that my math language may be wrong.

@PaulS, thank you as well. I've incorporated arrays into my code and it is much more manageable, and organized.

Thanks guys!