Problema con método y for
Publicado por jose (73 intervenciones) el 02/11/2018 21:15:31
Hola a todos,
Tengo un problemilla que ha de ser sencillo pero no encuentro la forma.
Tengo dos clases una principal y otra con varios métodos.
Uno de los métodos ha de buscar dentro de un array un valor y retornar a un menú.
Este es el código del método principal.
y esto es el método de la clase secundaria
Resulta que lo que necesito es que si encuentra el código vuelva al menu del método inici. En vez de eso si lo encuentra imprime ya existe pero me pregunta por la siguiente pregunta
pero necesito que vuelva a preguntar o bien por el código o bien el menu de la método inici. Algo como esto
Alguien sabría cómo modificar el método para que funcione.
Si el for lo colocó en la clase principal, como esto, funciona. Pero me gustaría crear un método en la clase secundaría si es posible.
Espero haberme podido explicar bien, ni yo me entero de lo que he escrito. Jajaja
Saludos a todos,
Tengo un problemilla que ha de ser sencillo pero no encuentro la forma.
Tengo dos clases una principal y otra con varios métodos.
Uno de los métodos ha de buscar dentro de un array un valor y retornar a un menú.
Este es el código del método principal.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
private void inici() {
// Codi productes, Descripció , PVP
String[][] productes = new String[MAX][3];
//Codi producte,Descripció, PVP, Quantitat
String[][] carroCompra = new String[MAX][4];
boolean sortir = false;
int opcio;
mostrarPresentacio();
while (!sortir) {
System.out.println();
System.out.println("1. Afegir producte al catàleg");
System.out.println("2. Afegir producte al carro de la compra");
System.out.println("3. Llista de productes");
System.out.println("4. Mostrar productes del carro de la compra");
System.out.println("5. Sortir");
System.out.println("Escriu el número de l'opció:");
opcio = scanner.nextInt();
switch (opcio) {
case 1:
afegirProductes(productes);
break;
case 2:
afegirAlCarro(productes, carroCompra);
break;
case 3:
mostrarLlistaProductes(productes);
break;
case 4:
mostrarCarroCompra(carroCompra);
break;
case 5:
fiPrograma();
sortir = true;
break;
default:
System.out.println("Només números entre 1 i 5");
}
}
}
private void afegirProductes(String[][] productes) {
// Es demanaran les dades Codi Producte, descripció i PVP,
// es comprovarà si aquest producte ja existeix en l’array «productes»
// i si no hi és, doncs s’afegirà en l’array, de la forma següent:
// dades.afegirProducte(codiProducte, descripcio, pvp, productes);
scanner = new Scanner(System.in);
String codiProducto;
String descripcion;
String PVP;
System.out.print("\nIntrodueix el codi del producte: ");
codiProducto = scanner.nextLine();
//Comprobar que no existe el producto
dades.cercaCodiProducte(codiProducto, productes);
System.out.print("\nIntrodueix la descripció del producte: ");
descripcion = scanner.nextLine();
System.out.print("\nIntrodueix el PVP del producte (Sólament numeros enteros): ");
PVP = scanner.nextLine();
int PvpInt = Integer.parseInt(PVP);
dades.afegirProducte(codiProducto, descripcion, PvpInt, productes);
}
y esto es el método de la clase secundaria
1
2
3
4
5
6
7
8
9
10
public void cercaCodiProducte(String pCodiProducte, String[][] productes){
for (int i = 0; (i < productes.length); i++) {
if (pCodiProducte.equalsIgnoreCase(productes[i][0])) {
System.out.print("Este código ya existe.");
return;
}
}
}
Resulta que lo que necesito es que si encuentra el código vuelva al menu del método inici. En vez de eso si lo encuentra imprime ya existe pero me pregunta por la siguiente pregunta
pero necesito que vuelva a preguntar o bien por el código o bien el menu de la método inici. Algo como esto
Alguien sabría cómo modificar el método para que funcione.
Si el for lo colocó en la clase principal, como esto, funciona. Pero me gustaría crear un método en la clase secundaría si es posible.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private void afegirProductes(String[][] productes) {
// Es demanaran les dades Codi Producte, descripció i PVP,
// es comprovarà si aquest producte ja existeix en l’array «productes»
// i si no hi és, doncs s’afegirà en l’array, de la forma següent:
// dades.afegirProducte(codiProducte, descripcio, pvp, productes);
scanner = new Scanner(System.in);
String codiProducto;
String descripcion;
String PVP;
System.out.print("\nIntrodueix el codi del producte: ");
codiProducto = scanner.nextLine();
//Comprobar que no existe el producto
//dades.cercaCodiProducte(codiProducto, productes);
for (int i = 0; (i < productes.length); i++) {
if (codiProducto.equals(productes[i][0])) {
System.out.print("Este código ya existe");
return;
}
}
System.out.print("\nIntrodueix la descripció del producte: ");
descripcion = scanner.nextLine();
System.out.print("\nIntrodueix el PVP del producte (Sólament numeros enteros): ");
PVP = scanner.nextLine();
int PvpInt = Integer.parseInt(PVP);
dades.afegirProducte(codiProducto, descripcion, PvpInt, productes);
}
Espero haberme podido explicar bien, ni yo me entero de lo que he escrito. Jajaja
Saludos a todos,
Valora esta pregunta
0