¿Porque me sale a medias este ejercicio?

rodrigo villarribia
11 de Septiembre del 2010
Ayuda por favor¡¡¡

La clase prueba "llama" a la clase vector, cuando dice menu de opcines escribo 1 corre bien, escribo 0 tambien corre, pero la 2 y la 3 no corren, porque que hice mal?, esta mal la clase vector?

Este es el codigo de la clase Prueba:

/* esta clase debe estar grabada en un archivo llamado Prueba.java*/
import java.util.Scanner;
class Prueba{
public static void main(String args[]){
Scanner leer = new Scanner(System.in);
int n,op,ele; n=0;op=1;ele=0;boolean resp=false;
while (n<=0) {System.out.println("Introduzca un numero entre 1 y 199"); n=leer.nextInt();};
Vector ov=new Vector();
do{
System.out.println();System.out.printl…
System.out.println("Menu de opciones");
System.out.println("================")…
System.out.println("1. Cargar el vector");
System.out.println("2. Desplegar el vector");
System.out.println("3. Buscar un elemento en el vector");
System.out.println("0. Terminar");System.out.println();
System.out.print("Introduzca su opcion:"); System.out.println();System.out.println(…
op=leer.nextInt();
switch (op){
case 1: {ov.cargarv(n); break;}
case 2: {ov.despv(n); break;}
case 3: {System.out.println("Introduzca el valor a buscar en el vector: ");ele=leer.nextInt();
resp= ov.existey(n,ele);
if (resp) {System.out.println();System.out.println… elemento "+ele+" EXISTE");System.out.println();}
else {System.out.println();System.out.println… elemento "+ele+" NO EXISTE");System.out.println();}
break;}
case 0: {break;}
}
}
while ( op>0);
}
}

Y este el codigo de la clase Vector:

/* esta clase debe estar grabada en un archive llamado Vector.java */
import java.util.Scanner;
class Vector {
int v[] = new int[200];
Scanner leer = new Scanner(System.in);
void cargarv(int n){
for(int i=1;i<=n;i++) {System.out.print("Introduzca un valor para v["+i+"]=");v[i]=leer.nextInt();}
}
void despv(int n){
for(int i=1;i<=n;i++) System.out.println("v["+i+"]="+v[i]);
}
boolean existey(int n, int ele){ int i=1;boolean resp=false;
while ((i<=n)&&(!resp)){
if (v[i]==ele) resp=true;
i++;
}
return resp;
}
}


¿PORQUE NO CORREN LA 2 Y 3?


kalua bibis
15 de Septiembre del 2010
Hola Rodrigo!

He copiado el código y quitado las cosas que añade este foro y me funciona..

Así que te pego Dentro de etiqueta por si quiere volverlo a probar:
import java.util.Scanner;

class Prueba {

public static void main(String args[]) {

Scanner leer = new Scanner(System.in);
int n, op, ele;
n = 0;
op = 1;
ele = 0;
boolean resp = false;
while (n <= 0) {
System.out.println("Introduzca un numero entre 1 y 199");
n = leer.nextInt();
}
;
Vector ov = new Vector();
do {
System.out.println();
System.out.println("Menu de opciones");
System.out.println("================");
System.out.println("1. Cargar el vector");
System.out.println("2. Desplegar el vector");
System.out.println("3. Buscar un elemento en el vector");
System.out.println("0. Terminar");
System.out.println();
System.out.print("Introduzca su opcion");
op = leer.nextInt();
switch (op) {
case 1: {
ov.cargarv(n);
break;
}
case 2: {
ov.despv(n);
break;
}
case 3: {
System.out
.println("Introduzca el valor a buscar en el vector: ");
ele = leer.nextInt();
resp = ov.existey(n, ele);
if (resp) {
System.out.println();
System.out.println("EXISTE");
} else {
System.out.println("NO EXISTE");
}
break;
}
case 0: {
break;
}
}
} while (op > 0);
}
}

import java.util.Scanner;

class Vector {
int v[] = new int[200];
Scanner leer = new Scanner(System.in);

public void cargarv(int n) {
for (int i = 1; i <= n; i++) {
System.out.print("Introduzca un valor para v[" + i + "]=");
v[i] = leer.nextInt();
}
}

public void despv(int n) {
for (int i = 1; i <= n; i++)
System.out.println("v[" + i + "]=" + v[i]);
}

boolean existey(int n, int ele) {
int i = 1;
boolean resp = false;
while ((i <= n) && (!resp)) {
if (v[i] == ele)
resp = true;
i++;
}
return resp;
}

}