Transforma int em String completando com zeros a esquerda[RESOLVIDO]

Olá,

Preciso transformar um int em String, porém completando com “0” a esquerda e no máximo 3 casas, ou seja, se o número for 3 preciso que seja 003 e se for 17 ser 017.
Existe alguma função em Java que faça isso?

Obrigado.

Não sei se já existe pronto (bem capaz de ter), mas é tão simples de resolver que tá aí:

public static void main(String[] args) {
        // TODO code application logic here
        Scanner input = new Scanner (System.in);
        int n1 = input.nextInt();
        String s = n1 + "";
        s = modificarString(3, s);
        System.out.println(s);
    }

    private static String modificarString(int casas, String texto){
        while (texto.length() < casas){
            texto = "0" + texto;
        }
        return texto;
    }

espero ter ajudado n.n

Valeu Mephy,

Também achei assim:

int opcaoselecionada=2;
String zeros = "000";
String versalto = zeros + opcaoselecionada;
versalto=versalto.substring(versalto.length()-3); 

eu sei que vc ja deu como resolvido mais podemos simplificar isso usando a propria api java

int opcaoselecionada = 2;
String s = String.format("%04d", opcaoselecionada);
System.out.println(s);

o resultado disso é s = “0002”

valew

Mas sua solução de fato é melhor, vou utilizá-la então, não conhecia. Obrigado.

Também dá pra fazer assim:

        /* resultado 00552  
       *Onde valor seria o 552, o 5 o número de caracteres que tem que aparecer e o "" é com o que ele irá completar no caso "0"
       */
        System.out.println(StringUtils.leftPad(valor, 5, "0"));

Pra quem utiliza o Apache StringUtils

Já haviam resolvido mas fica como dica 8)