Declaración "return" con "for loop"

En el lenguaje de programación java, ¿cómo puedo implementar "for loop" en la declaración de devolución?

Tengo este codigo

public String toString(){
return String.format(num[0]+" - "+num[1]+" - "+num[2]+" - "+num[3]+" - "+num[4]+" - "+num[5]+" - "+num[6]+" - "+num[7]+" - "+num[8]+" - "+num[9]+" - "+num[10]+" - "+num[11]+" - "+num[12]+"\n");
}

si num array tiene 1000 elementos, y quiero devolver todos estos elementos, ¿cómo puedo hacerlo sin escribirlo uno por uno como el anterior?

Intenté usando for loop pero me da un error

public String toString(){
for(int j=0 ; j<100 ; j++)
return String.format(num[j]+" - ");
}   

preguntado el 16 de mayo de 11 a las 17:05

¡¡Necesitas decirnos qué idioma es este !! -

Supongo que C # o Java. -

java, lo siento, me olvido de mencionar eso -

4 Respuestas

Si haces un return dentro de un bucle, rompe el bucle. Lo que quiere hacer es devolver una cadena grande con todas esas otras cadenas concat. Hacer un

public String toString(){
for(int j=0 ; j<100 ; j++)
s = s +" "+num[j];
}  

donde s es una cadena de caché. Luego, después del bucle, haz un return s; así que los tienes todos.

contestado el 16 de mayo de 11 a las 21:05

Lo usé pero me da un error (se esperaba una clase), ¿qué significa? - datos

Probablemente signifique que intentó ejecutar su archivo fuente (.java) en lugar de su código de bytes compilado (.class). - Y J

Use un StringBuilder y haga sb.append(" ").append(num[j]); dentro del bucle. Luego return sb.toString(); después del bucle. - Chris Nava

Si es C #, puede usar:

return String.Join(" - ", num);

Si esto es Java, puede usar StringUtils.join:

return StringUtils.join(num, " - ");

contestado el 16 de mayo de 11 a las 21:05

Este es un código de Java, gracias por su explicación, pero ¿podría decirme cómo inicializar (StringUtils)? No lo usé antes de este tiempo. y ¿dónde debería escribirlo: dentro del bucle? - datos

Tendrá que descargar el jar de Apache Commons e incluirlo en su classpath e importar el paquete en la clase que lo está usando. Ya no es necesario el bucle for, esta línea se encarga de ello. - Punto y coma olvidado

Simplemente concate las cuerdas antes de return. Tu tampoco necesitas String.format. Aún mejor: si se trata de C # o Java, use un generador de cadenas.

contestado el 16 de mayo de 11 a las 21:05

Sección 14.1 Cumplimentación normal y abrupta de declaraciones del estándar dice:

Las declaraciones de interrupción (§14.15), continuar (§14.16) y devolución (§14.17) provocan una transferencia de control que puede impedir la finalización normal de las declaraciones que las contienen.

Si desea devolver varios elementos a la vez, puede usar una colección para agregar los valores devueltos.

Respondido 27 Feb 18, 14:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.