First of all, if you use int as your argument type you might run into an overflow situation. Better to use byte and do a type cast when you call the method (if necessary)
public boolean SetPower(byte Power1, byte Power2, byte Power3, byte Power4)
{
String power1inhex = "0x";
power1inhex += Integer.toHexString(Power1);
SetHardwarePower(new byte[]{Power1, Power2, Power3, Power4});
}
If the user is entering decimal values as a string, you only need to convert from string to byte.
string aString = "10";
byte aByte = (byte)Integer.parseInt(aString);
dec hex binary
aByte = 10 or 0x0A or 0000 1010 (it all depends on how you choose to show the value)