There is a common misconception that some jewellery turns your skin green and that this can only be avoided by wearing high quality pure metals. Whilst there is some truth in that, with metals such as gold rarely reacting with your skin, discolouration from wear is almost inevitable with many metals as a result of their chemical composition.
Alloys such as brass and bronze contain copper, which can oxidise with the acid and moisture on your skin to create copper chloride - the green tinge! If you wear a piece containing copper for a longer period of time your body will adapt and the green will stop.
Around 3% of the population also react to silver as a result of our bodies becoming ever more acidic due to diet and environment. Our PH levels are incredibly sensitive and can be impacted by medications or even something as small as excitement. High-grade silver is extremely soft and malleable so is commonly mixed with copper to strengthen it, creating 92.5 silver. Purer silvers will tarnish when exposed to air containing small amounts of sulphur, making silver sulphide, so either this oxidisation process or the copper content of 92.5 silver can create a discoloured finger!
There are ways to minimise and eliminate the possibilities of a chemical reaction. If you are not willing to constantly wear the jewellery until the body adapts, then the most obvious option would be to keep your jewellery in a constantly clean state and ensure your skin is always dry by removing the items before showering, sleeping and exercising. You can also get the jewellery plated at your local silversmith with something like rhodium.
Hopefully this has cleared up any misconceptions about why certain metals can discolour!