Como le hago para que no me imprima la ultima coma?
public class Programa_arreglo {
public static void main(String[] args) {
int ultimo;
int[] array = {32, 54, 78, 96, 12};
ultimo = array[4];
System.out.print("Arreglo 1: ");
for (int i = 0; i < 5; i++) {
System.out.print(array[i]+", ");
}
for (int i = 3; i >= 0; i--) {
array[i + 1] = array[i];
}
array[0] = ultimo;
System.out.print("\nArreglo 2: ");
for (int i = 0; i < 5; i++) {
System.out.print(array[i]+", ");
}
}
}
Me debe de imprimir así:
Arreglo 1: 32, 54, 78, 96, 12
Arreglo 2: 12, 32, 54, 78, 96
Y me imprime isa:
Arreglo 1: 32, 54, 78, 96, 12,
Arreglo 2: 12, 32, 54, 78, 96,
Puedes cambiar el:
System.out.print(array[i]+", ");
Por:
if (i > 0) {
System.out.print(", ");
}
System.out.print(array[i]);
Es una forma de hacerlo.
Como bien dice ivancea96 lo puedes hacer de esa manera.
O bien, siguiendo la forma en la cual lo estas haciendo, igual puede quedar asi:
System.out.print("\nArreglo 2: ");
for (int i = 0; i < 4; i++) { //En lugar de ponerlo a 5, lo pones a 4
System.out.print(array[i]+", ");
}
System.out.print(array[5]); //Y aqui imprimes el ultimo
Sin embargo podrias darle un enfoque diferente, piensa en esto, si el arreglo cambia de longitud, tendras que volver a escribir tu codigo para "adaptarlo" a la nueva longitud.
Quizas podriamos hacer esto, un metodo exclusivo que reciba 2 numeros y retorne un arreglo con estos 2 numeros intercambiados.
Despues lo mandas a llamar dentro de un for el cual recorrera el arreglo original hasta n-1, algo como esto:
public static void main(String[] args) {
int[] array = {32, 54, 78, 96, 12};
for (int i = 0;i<array.length-1;i++) {
intercambia(array[i], array[i+1]);
}
System.out.println(Arrays.toString(array));
}
public static int[] intercambia(int a, int b) {
return new int[]{b,a};
}
}
Puede ser que exista una forma mas optimizada, en la programacion todo puede pasar.
Saludos.