import java.util.*;
class Main {
public static void main
(String[] args
) { ImprimeLista(SeparaDigitos(12345));
ImprimeLista(SeparaDigitos(-123));
ImprimeLista(SeparaDigitosNegativo(-123));
ImprimeLista(SeparaDigitosNegativo(123));
}
public static List<Integer> SeparaDigitos(int valor) {
List<Integer> numerosGerados = new ArrayList<>();
int positivo
= Math.
abs(valor
); int tamanho
= (int)(Math.
log10(positivo
) + 1); int posicao = 0;
while(posicao < tamanho) {
int digito
= valor
/ (int)Math.
pow(10, tamanho
- posicao
- 1) * Integer.
signum(valor
); numerosGerados.add(digito);
valor
%= digito
* Math.
pow(10, tamanho
- posicao
- 1); posicao++;
}
return numerosGerados;
}
public static List<Integer> SeparaDigitosNegativo(int valor) {
List<Integer> numerosGerados = new ArrayList<>();
int positivo
= Math.
abs(valor
); int tamanho
= (int)(Math.
log10(positivo
) + 1); int posicao = 0;
while(posicao < tamanho) {
int digito
= valor
/ (int)Math.
pow(10, tamanho
- posicao
- 1) * (posicao
== 0 ? 1 : Integer.
signum(valor
)); numerosGerados.add(digito);
valor
%= digito
* Math.
pow(10, tamanho
- posicao
- 1); posicao++;
}
return numerosGerados;
}
public static void ImprimeLista(List<Integer> lista) {
for (int item : lista) {
}
}
}
//https://pt.stackoverflow.com/q/53225/101
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgTWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykJewoJCUltcHJpbWVMaXN0YShTZXBhcmFEaWdpdG9zKDEyMzQ1KSk7CgkJSW1wcmltZUxpc3RhKFNlcGFyYURpZ2l0b3MoLTEyMykpOwoJCUltcHJpbWVMaXN0YShTZXBhcmFEaWdpdG9zTmVnYXRpdm8oLTEyMykpOwoJCUltcHJpbWVMaXN0YShTZXBhcmFEaWdpdG9zTmVnYXRpdm8oMTIzKSk7Cgl9CglwdWJsaWMgc3RhdGljIExpc3Q8SW50ZWdlcj4gU2VwYXJhRGlnaXRvcyhpbnQgdmFsb3IpIHsKCQlMaXN0PEludGVnZXI+IG51bWVyb3NHZXJhZG9zID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgaW50IHBvc2l0aXZvID0gTWF0aC5hYnModmFsb3IpOwoJCWludCB0YW1hbmhvID0gKGludCkoTWF0aC5sb2cxMChwb3NpdGl2bykgKyAxKTsKCQlpbnQgcG9zaWNhbyA9IDA7CgkJd2hpbGUocG9zaWNhbyA8IHRhbWFuaG8pIHsKCQkJaW50IGRpZ2l0byA9IHZhbG9yIC8gKGludClNYXRoLnBvdygxMCwgdGFtYW5obyAtIHBvc2ljYW8gLSAxKSAqIEludGVnZXIuc2lnbnVtKHZhbG9yKTsKCQkJbnVtZXJvc0dlcmFkb3MuYWRkKGRpZ2l0byk7CgkJCXZhbG9yICU9IGRpZ2l0byAqIE1hdGgucG93KDEwLCB0YW1hbmhvIC0gcG9zaWNhbyAtIDEpOwoJCQlwb3NpY2FvKys7CgkJfQogICAgCXJldHVybiBudW1lcm9zR2VyYWRvczsKCX0KCXB1YmxpYyBzdGF0aWMgTGlzdDxJbnRlZ2VyPiBTZXBhcmFEaWdpdG9zTmVnYXRpdm8oaW50IHZhbG9yKSB7CgkJTGlzdDxJbnRlZ2VyPiBudW1lcm9zR2VyYWRvcyA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgIGludCBwb3NpdGl2byA9IE1hdGguYWJzKHZhbG9yKTsKCQlpbnQgdGFtYW5obyA9IChpbnQpKE1hdGgubG9nMTAocG9zaXRpdm8pICsgMSk7CgkJaW50IHBvc2ljYW8gPSAwOwoJCXdoaWxlKHBvc2ljYW8gPCB0YW1hbmhvKSB7CgkJCWludCBkaWdpdG8gPSB2YWxvciAvIChpbnQpTWF0aC5wb3coMTAsIHRhbWFuaG8gLSBwb3NpY2FvIC0gMSkgKiAocG9zaWNhbyA9PSAwID8gMSA6IEludGVnZXIuc2lnbnVtKHZhbG9yKSk7CgkJCW51bWVyb3NHZXJhZG9zLmFkZChkaWdpdG8pOwoJCQl2YWxvciAlPSBkaWdpdG8gKiBNYXRoLnBvdygxMCwgdGFtYW5obyAtIHBvc2ljYW8gLSAxKTsKCQkJcG9zaWNhbysrOwoJCX0KICAgIAlyZXR1cm4gbnVtZXJvc0dlcmFkb3M7Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgSW1wcmltZUxpc3RhKExpc3Q8SW50ZWdlcj4gbGlzdGEpIHsKIAkJZm9yIChpbnQgaXRlbSA6IGxpc3RhKSB7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihpdGVtKTsKCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKCk7Cgl9Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzUzMjI1LzEwMQ==