1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Re: Me pueden ayudar
« en: 15 de Octubre 2021, 01:45 »
Creo que algo así, no sé si me equivoco.
Código: [Seleccionar]
package menu;
import java.util.*;
public class Menu {
private static String[] arreglo;
private static Scanner teclado = new Scanner(System.in);
public static void main(String[] args) {
int opcion = 0;
do {
System.out.println("\n\n\t\tMENU");
System.out.println("(1) - Insertar un elemento al arreglo");
System.out.println("(2) - Crear un arreglo");
System.out.println("(3) - actualizar posiciones del arreglo");
System.out.println("(4) - Eliminar un valor del arreglo");
System.out.println("(5) - Visualizar valores del arreglo");
System.out.println("(9) - TERMINAR PROGRAMA");
System.out.print("Elija opción: ");
opcion = Integer.parseInt(teclado.nextLine());
switch (opcion) {
case 1:
insertarElemento();
break;
case 2:
crearArreglo();
break;
case 3:
actualizarPosicion();
break;
case 4:
eliminarValor();
break;
case 5:
visualizarArreglo();
break;
case 9:
System.out.println("\n\t\tFIN DE PROGRAMA");
break;
default:
System.out.println("\nOpcion equivocada");
}
} while (opcion != 9);
}
private static void insertarElemento() {
if (arreglo == null) {
System.out.println("\nERROR. Primero ha de crear un arreglo");
} else {
//Buscamos primera posición libre
int libre = -1;
for (int i = 0; i < arreglo.length; i++) {
if (arreglo[i] == null) {
libre = i;
break; //Fin de búsqueda
}
}
//Comprobamos si hemos encontrado alguna posicion libre
if (libre == -1) {
System.out.println("\nNo hay posiciones libres."
+ "\nTendrá que eliminar valor o actualizar uno existente");
} else {
System.out.print("\nIntroduzca valor: ");
arreglo[libre] = teclado.nextLine();
}
}
}
private static void crearArreglo() {
System.out.print("\nIndique tamaño del nuevo arreglo: ");
int tm = Integer.parseInt(teclado.nextLine());
if (tm > 0) {
arreglo = new String[tm];
System.out.println("\nArreglo creado. Ya puede insertar nuevos valores.");
} else {
System.out.println("\nERROR. Ha de indicar un tamaño mayor que 0");
}
}
private static void actualizarPosicion() {
System.out.println("Quieres actualizar alguno? S/N");
String respuesta = teclado.next();
int posicion_actualizar = 0;
if (respuesta.equals("S")) {
System.out.println("que posicion del arreglo quieres actualizar?");
posicion_actualizar = teclado.nextInt();
System.out.println("Escribe el nuevo valor en la poscion " + posicion_actualizar);
arreglo[posicion_actualizar] = teclado.next();
}
System.out.println("Este es el arreglo actualizado");
for (int x = 0; x < arreglo.length; x++) {
System.out.println(arreglo[x]);
}
}
private static void eliminarValor() {
int posicion;
for (int i = 0; i < arreglo.length; i++) {
System.out.println("[" + i + "]=" + arreglo[i]);
}
System.out.println("tu arreglo es de " + arreglo.length + " posiciones");
System.out.println("Que valor quieres eliminar de tu arreglo?");
posicion=teclado.nextInt();
for (int i = 0; i < arreglo.length - 1; i++);
{
arreglo[i] = arreglo[i + 1];
}
//posiciones3
//indice = 2
arreglo[arreglo.length - 1] = "";
System.out.println("Arreglo modificado");
for (int i = 0; i < arreglo.length; i++) {
System.out.println("[" + i + "]=" + arreglo[i]);
}
}
private static void visualizarArreglo() {
if (arreglo == null) {
System.out.println("\nERROR. Primero ha de crear un arreglo");
} else {
System.out.println("\nValores registrados:");
for (String valor : arreglo) {
if (valor != null) {
System.out.print("[" + valor + "] ");
}
}
}
}
}