otros han señalado que al multiplicar por b
1000 no debe causar ningún problema - pero si un eran cero, terminarías perdiéndolo. (Obtendrá una cadena de 4 dígitos en lugar de 5.)
Aquí hay un enfoque alternativo (de propósito general), que supone que todos los valores están en el rango 0-9. (Usted debe muy posiblemente poner en un cierto código para lanzar una excepción si eso resulta no ser cierto, pero lo he dejado aquí por simplicidad.)
public static String concatenateDigits(int... digits)
{
char[] chars = new char[digits.length];
for (int i = 0; i < digits.length; i++)
{
chars[i] = (char)(digits[i] + '0');
}
return new String(chars);
}
En este caso, que se dice que con :
String result = concatenateDigits(a, b, c, d, e);
Usar Horner-Scheme: ((((a * 10 + b) * 10 + c) * 10 + d) * 10 + e. ¿Por qué pierdes b cuando los sumas? – Searles
Más información sobre Horner-Scheme: http://stackoverflow.com/questions/1991380/what-does-the-operator-do-in-java/ – polygenelubricants