We would like to build a calculator using Arduino which uses 3 digit LCD and a keypad similar to digital phones. (# for plus , * for minus) Which components and way is good enough to not to run out of I/O ports?
Check this arduinoo calculator kit: http://www.spikenzielabs.com/Downloadables/calc/CalcBuildInstructions.pdf Software and hardware is open source. They manages to connect 17 buttons and 6 digits LED. Wiring and sketch is very easy to understand
Not know which arduino you use, or the total number of pins you need, the basic answer is Shift Registers or (i2c/spi) Port Expanders. More specialized versions would be 7 segment led drivers (if you are using led 7 segment displays obviously), and keypad matrix ICs. If you are using actual lcd displays, it would highly depend on the display and/or controller for the display.