Código:
[url=http://www.uploadhouse.com/viewfile.php?id=18729778&showlnk=0][img]http://img8.uploadhouse.com/fileuploads/18729/1872977881b07c136b8884e3b4fbf14d8ce26a3b.jpg[/img][/url]1. Un vector en un espacio tridimensional es una tripleta de valores reales (x,y,z). 2. Deseamos confeccionar un programa que permita operar con dos vectores, utilizando métodos. 3. Habrá un método verMenu, en el cual se visualizará una pantalla con las siguientes opciones: __________________________ 1. Introducir el primer vector 2. Introducir el segundo vector 3. Calcular la suma 4. Calcular la diferencia 5. Calcular el producto vectorial 6. Calcular el producto escalar 7. Calcular el ángulo (en grados) entre ellos 8. Calcular la longitud 9. Finalizar ___________________________ Tras la ejecución de cada una de las acciones del menú éste reaparecerá en pantalla, a menos que la opción escogida sea la número 9. Si el usuario escoge una opción diferente, el programa advertirá al usuario de su error y el menú reaparecerá. 4. Habrá un método verVector para la visualización en pantalla del vector introducido. 5. Habrá un método para cada una de las funciones que se especifican en el menú. Las opciones 4, 5 y 8 pueden proporcionar resultados distintos en función del orden de los operandos, así que, si se escoge cualquiera de ellas, aparecerá un nuevo menú que permita seleccionar el orden de los operandos. Por ejemplo, la opción 4 mostrará el siguiente menú: Primer vector menos segundo vector Segundo vector menos primer vector Esto se realizará llamando al método verSubmenu. Nuevamente, si el usuario se equivoca, se le advertirá del error y se le permitirá corregirlo.
Y he hecho el siguiente código (os lo pongo "todo" por si queréis probarlo):
Código:
Pero cuando empiezo a introducir valores en el FOR, parece que no se completa o continua con la ejecución y no sale del mismo, se queda siempre ejecutanto el FOR hasta el infinito./* * To change this template, choose Tools | Templates * and open the template in the editor. */ package vectortridimensional; import java.util.*; /** * * @author Joan */ public class VectorTridimensional { /** * @param args the command line arguments */ public static void main(String[] args) { Scanner teclado=new Scanner(System.in); int opcion; int [] v1; v1 = new int[3]; int [] v2; v2 = new int[3]; System.out.println("Introduce una opción del menu."); verMenu(); opcion=teclado.nextInt(); /*-------------------------------------------------------------------------*/ while(opcion!=9){ switch(opcion){ case 1: introVector(v1); muestraVector(v1); break; case 2: introVector(v2); break; case 3: ; break; case 4: ; break; case 5: ; break; case 6: ; break; case 7: ; break; case 8: ; break; case 9: ; break; //default: System.out.println("Error" ); break; } } } /*-------------------------------------------------------------------------*/ public static void verMenu(){ System.out.println("1. Introducir el primer vector"); System.out.println("2. Introducir el segundo vector"); System.out.println("3. Calcular la suma"); System.out.println("4. Calcular la diferencia"); System.out.println("5. Calcular el producto vectorial"); System.out.println("6. Calcular el producto escalar"); System.out.println("7. Calcular el ángulo (en grados) entre ellos"); System.out.println("8. Calcular la longitud"); System.out.println("9. Finalizar"); } // método introduce valores a un vector public static void introVector(int [] v){ Scanner teclado=new Scanner (System.in); for(int i=0;i<v.length;i++){ System.out.println("Introduce un valor para la posición "+i); v[i]=teclado.nextInt(); } } // método muestra vector public static void muestraVector(int [] v){ for(int i=0;i<v.length;i++){ System.out.println(v[i]); } } }
GRACIAS por ayudarme