Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - MrSimpatia

#11
Java / Como crear un array (o arreglo) dinamico
5 Octubre 2018, 22:24 PM
Hola a todos, ya es mi 3er post (tengo miedo de ya parecer molesto  :rolleyes:) mi duda es,
como puedo crear un array (o arreglo) que no sea estatico, es decir que no quede con un valor fijo y pueda "crecer" cuando en programador o el usuario quiera
Ejemplo :
Código (java) [Seleccionar]
System.out.print("Cuantos se van a registrar? ");
x = dato.nextInt();
CI = new String [num+x];
nom = new String [num+x];
ape = new String [num+x];
tel = new String [num+x];
mail = new String [num+x];
if (num<=0) {
dato.nextLine();
for (int f= 0; f<CI.length; f++) {

System.out.print("CI: ");
CI [f] = dato.nextLine();
System.out.print("Nombre: ");
nom [f] = dato.nextLine();
System.out.print("Apellido: ");
ape [f] = dato.nextLine();
System.out.print("Telefono: ");
tel [f] = dato.nextLine();
System.out.print("Mail: ");
mail [f] = dato.nextLine();
System.out.println(" ");
}
                                        } if (num>0) {
dato.nextLine();
for (int f= num; f<CI.length ; f++ ) {

System.out.print("CI: ");
CI [f] = dato.nextLine();
System.out.print("Nombre: ");
nom [f] = dato.nextLine();
System.out.print("Apellido: ");
ape [f] = dato.nextLine();
System.out.print("Telefono: ");
tel [f] = dato.nextLine();
System.out.print("Mail: ");
mail [f] = dato.nextLine();
System.out.println(" ");
}
}
num = num + x;

Ignoren los datos que se piden, el problema de aqui es que cuando yo quiero "listar" estos arreglos con sus respectivos datos, los primeros datos ingresados quedan en "null", lo que pretendo yo con esto es que la array crezca sin perder los anteriores datos...
PD: "num" es un contador (nose el termino tecnico real aqui en colegio le llaman asi  :xD ) y "num" empieza con valor 0
#12
Java / Re: Problema con switch
5 Octubre 2018, 21:44 PM
Borre el case 2 y sigue dando el error, pero se imprime el segundo for, osea el primero no se ejecuta, pero el segundo si, se lista los datos que pido, pero no se borran
#13
Java / Problema con switch
5 Octubre 2018, 21:04 PM
Buenas tengo un problema con un switch
Código (java) [Seleccionar]
[code]public void Vehiculos () {
int op1, n;
String busca, busca2;
String matricula [] = new String [0];
String marca [] = new String [0];
String modelo [] = new String [0];
String color [] = new String [0];
String cantPuertas [] = new String [0];
do {
System.out.println("1.1- Registrar");
System.out.println("1.2- Modificar");
System.out.println("1.3- Eliminar");
System.out.println("1.4- Listar todos");
System.out.println("1.5- Buscar");
System.out.println("0- Volver");
System.out.print("Opcion: ");
op1 = dato.nextInt();
switch (op1) {
case 1:
System.out.print("Cuantos vehiculos desea registrar? ");
n = dato.nextInt();
matricula = new String [n];
marca = new String [n];
modelo = new String [n];
color = new String [n];
cantPuertas = new String [n];

for (int f= 0; f<n ; f++) {
dato.nextLine();
System.out.print("Matricula: ");
matricula [f] = dato.nextLine();
System.out.print("Marca: ");
marca [f] = dato.nextLine();
System.out.print("Modelo: ");
modelo [f] = dato.nextLine();
System.out.print("Color: ");
color [f] = dato.nextLine();
System.out.print("Cantidad de puertas: ");
cantPuertas [f] = dato.next(); }
break;

case 2:

break;

case 3:
System.out.println("Cual desea eliminar? ");
busca2 = dato.nextLine();
for (int f= 0; f<matricula.length; f++) {
if (busca2.equals(matricula [f])) {
matricula [f] = null;
modelo [f] = null;
color [f] = null;
marca [f] = null;
cantPuertas [f] = null;
}

}
for (int f= 0; f<matricula.length; f++) {
System.out.println("Matricula: "+matricula[f]+" Marca: "+marca[f]+" Modelo: "+modelo[f]+" Color: "+color[f]+" Cantidad de puertas: "+cantPuertas[f]);
}


break;

case 4:
System.out.println("Listado de vehiculos:");
System.out.println("-----------------------------");
for (int f= 0; f<matricula.length; f++) {
System.out.println("Matricula: "+matricula[f]+" Marca: "+marca[f]+" Modelo: "+modelo[f]+" Color: "+color[f]+" Cantidad de puertas: "+cantPuertas[f]);
System.out.println(" ");
System.out.println(" ");
}
break;

case 5:
System.out.println("Matricula del vehiculo que desea buscar: ");
busca = dato.next();
for (int x = 0; x<matricula.length; x++) {
if (busca.equals(matricula [x])) {
System.out.println("Matricula: "+matricula[x]+" Modelo: "+modelo[x]+" Color: "+color[x]+" Cantidad de puertas: "+cantPuertas[x]);
System.out.println("El vehiculo se encuentra en la posicion "+(x+1));
}
}
break;

case 0:
MenuPrincipal();
}

}while (op1 != 0);


Cuando quiero usar el case 3 , me vuelve a lanzar el menu principal, las demas opciones funcionan bien, solo esa me da error
PD: No dar importancia a el case 2 (Aunque si quieren darme una idea de como hacer para modificar un array seria de gran ayuda :D) [/code]
#14
Java / Re: Llamar objetos desde un switch
5 Octubre 2018, 02:24 AM
Jajaja muchas gracias a los dos, y tiene razon 3n31ch eso de pasarme la tarea completa es hacer trampa, pero en serio mil gracias, me tenia muy mal no saber como tenia que hacer, estoy preparando mi proyecto final de curso y ese error me tenia muy mal
#15
Java / Re: Llamar objetos desde un switch
5 Octubre 2018, 00:44 AM
Hola 3n31ch, la duda en realidad era mia no la podia hacer yo porque no me dejaba crear la cuenta, ahora que si me dejo te explico el codigo es este
import java.util.Scanner;
public class TestDelObligatorioV2 {

public static void main (String []args) {
TestDelObligatorioV2 Prueba = new TestDelObligatorioV2 ();
Prueba.iniciar();
Prueba.op1 ();
}
public Scanner dato;
int num, list;
int datos [];
String nombre [] = new String [0];
String apellido [] = new String [0];
String telefono [] = new String [0];

public static iniciar (){
int n;
dato=new Scanner (System.in);
System.out.println("Bienvenido!...");
System.out.println("1- Ingreso de datos");
System.out.println("2- Listado de datos");
System.out.println("3- Buscar por nombre");
System.out.println("4- Buscar por telefono");

do {
System.out.print("Opcion: ");
n = dato.nextInt();
switch (n) {
case 1 :
//Aca quiero llamar a op1
Prueba.op1();
}


}while  (n!= 0 && n<5);



} //Aca se van a cargar los datos y crear los vectores
public void op1 () {
System.out.print("Cuantos datos se ingresaran? ");
num = dato.nextInt();
datos = new int [num];
nombre = new String [num];
apellido = new String [num];
telefono = new String [num];
dato.nextLine();
for (int i=0; i<num; i++) {
System.out.print("Ingrese nombre: ");
nombre [i] = dato.nextLine();
System.out.print("Ingrese apellido: ");
apellido [i] = dato.nextLine();
System.out.print("Ingrese telefono: ");
telefono [i] = dato.nextLine();
}
} //Aca se van a mostrar los datos de los vectores
public void op2 () {
System.out.println("Cuantos datos quiere ver? ");
list = dato.nextInt();
System.out.println("Listado de datos:");
System.out.println("--------------------------");
for (int i=0; i<list; i++) {
System.out.println(apellido+" "+nombre+" - "+telefono);

}
}


}


Cuando quiero llamar con el switch a op1 no me deja me dice que no existe el metodo, si sabes como solucionarlo te estoy eternamente agradecido!
Ah y disculpa si confundo metodo con objetos soy medio nuevo en esto