¿Cómo hacer eso? Cuando el usuario inputs n=4 , ¿debería generar una cadena como str="1234" ?
Puede usar un bucle simple, por ejemplo:
int n = 4; String str = ""; for (int i = 1; i <= n; i++) { str+=i; }podemos obtener directamente int= 1234
En este caso, puedes analizarlo así:
int result = Integer.parseInt(str); Si desea evitar esto y int desde el principio, puede usar:
int n = 4; int result = 0; for (int i = 1; i <= n; i++) { result *= 10; result += i; }int n = 10; StringBuffer s = new StringBuffer(); for(int i=1;i<=n;i++){ s = s.append(i); } System.out.println(s.toString());Nota: No use la concatenación de cadenas en for, en su lugar use StringBuilder.
Echa un vistazo a esta pregunta .
En tu caso n es un valor pequeño y porque no es tan importante. Si n tiene un valor grande, será una gran cantidad de memoria.
Java 8 vías
int n = 4; StringBuilder sb = new StringBuilder(); IntStream.rangeClosed(1, n).forEach(sb::append); String str = sb.toString();Java 7 manera
int n = 4; StringBuilder sb = new StringBuilder(); for (int i = 1; i <= n; i++) { sb.append(i); } String str = sb.toString();