Tengo que hacer esto:
Código:
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.
[url=http://www.uploadhouse.com/viewfile.php?id=18729778&showlnk=0][img]http://img8.uploadhouse.com/fileuploads/18729/1872977881b07c136b8884e3b4fbf14d8ce26a3b.jpg[/img][/url]
Y he hecho el siguiente código (os lo pongo "todo" por si queréis probarlo):
Código:
/*
* 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]);
}
}
}
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.
GRACIAS por ayudarme