Tengo una pregunta de la clase Vector

Import javax.swing.*;
import java.util.*;
enum nivel{listos};
public class vec2{
 public static void main(String[]args){
 Vector finales=new Vector();
 Vector vec =new Vector();
 Vector calif=new Vector();
 Vector promedio=new Vector();
int z=0;
String todo="";
String nombre, materia;
float calificacion;
 int alumnos=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuantos Alumnos son"));
int numero=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuantas materia"));
    for(int i=0; i<alumnos;i++ ){
   nombre=JOptionPane.showInputDialog(null," Nombre del alumno"+(i+1));
    vec.add(nombre);
    for(int y=0;y<numero;y++){
     float finaal=0;
  materia=JOptionPane.showInputDialog(null,"Dame nombre de la materia "+(y+1));
    vec.add(materia);
    float pro=0f;
    for(int p=0;p<5;p++){
  calificacion=Float.parseFloat(JOptionPane.showInputDialog(null,"Calificacion?"));
  vec.add(calificacion);
  calif.add(calificacion);
 } // d aki en adelanteee marca error, por los operadores.
 pro=calif.elementAt(0)+calif.elementAt(3)+calif.elementAt(2)+calif.elementAt(3)+calif.elementAt(4);
 finaal= promedio.add(pro)/5;
finales.add=(finaal);
   }
  vec.add("siguiente");
    }
 for(int k =0;k<vec.size();k++){
  if(vec.elementAt(k).equals("siguiente")){
 vec.removeElementAt(k);
 vec.add(" ");
 todo="\t"+todo+"\n";
 }
todo=todo+vec.elementAt(k)+" ";
}
  JOptionPane.showMessageDialog(null,todo);
 }
}

1 respuesta

Respuesta
1
El primer problema es que, La clase vector con ese método te retorna un Object y cuando le das Object + Object pues no se puede realizar ese operaciones tienes que realizar un casteo o hacer que el vector sea de tipo Integer.
¿mmm parsear? Pero es que ya lo estoy guardando como flotante.
Soy algo nueva con la clase Vector. Pero por lo que me dijeron era que se podía guardar en el datos, del tipo que queramos, podemos insertar, y borrar elementos. Y pues casi se maneja como un vector porque para acceder aun dato también se utilizan el subíndice desde 0, se puede saber el tamaño de eso... ¿pero no se puede entonces con la clase Vector hacer operaciones? .. Mm creo que me falta algo de información de la clase Vector. Y es que lo ago así por el profe nos enseño o nos hablo sobre esa clase. Así que estudio, pero ahora veo que no puedo hacer operaciones. Si se utilizar vectores, y se que son de un solo tipo. De Hecho casi casi lo domino. Creo que si. jej pero ahora intento con la claseVector
 for(int y=0;y<numero;y++){
       float finaal=0;
    materia=JOptionPane.showInputDialog(null,"Dame nombre de la materia "+(y+1));
     vec.add(materia);
     float pro=0f;
           for(int p=0;p<5;p++){
       //aki abajo pido la calificacion y lo guardo como flotante
             calificacion=Float.parseFloat(JOptionPane.showInputDialog(null,"Calificacion?"));
             vec.add(calificacion);
            calif.add(calificacion);
            } //tmb arriba la declare como flotante
 pro=calif.elementAt(0)+calif.elementAt(3)+calif.elementAt(2)+calif.elementAt(3)+calif.elementAt(4);
 finaal= promedio.add(pro)/5;
finales.add=(finaal);
  }
Aquí tengo un programa de la clase Vector: creo que entiendes que es .. Bueno solo ponga para que veas que funciona como un vector. ¿Pero entonces con la clase Vector se pueden hacer operaciones? Se que seria ya más fácil de una ves hacerla con vectores o arreglos, pero ahora quiero utilizar la clase Vector.
import java.util.*;
public class VEC{
 public static void main (String[]args){
  Vector v=new Vector(); 
//5 impostantes ciudades de cada estado
// Darle clic en la ciudad y aparezca toda su información, una caccion o video que aparezca por estado
//JMF, vidoe y musika
// dibujar con lines el pais mexico
//conectar toda las ciudades cn al menos una carretaera
//sacar kilmetraje en cada una
//sacar el camino mas corto entre 2 puntos
//dibujar la ruta entre dos puntos que demos  
 v.add("Mayra");
 v.add(4); 
 v.add('b');
 v.add(4.567);
 v.remove(2 );
 System.out.print(v.size());
System.out.println (v.elementAt(2) );
v.insertElementAt("Mayrita",3);  
for(int i=0; i<v.size();i++){
 System.out.println("Elemento "+i+ "es: "+ v.elementAt(i));
 if(v.contains("Mayra")){
  System.out.println("Encontrado: " + v.elementAt(i));
  }
 }  
 System.out.println(v.capacity());
 }
}
uuppss perdon arriba dejee comentarrios de un programa que anote
ue tngo que hacer.. no signiifica nda de es0o
:/
Bueno pues digamos que con la clase vector se pueden hacer operaciones las cuales seria o estarían descritas como las funciones.
Si te das cuenta el Vector. Add(); aguanta con todo, a que me refiero a que puedes meter tipos de datos string, int, float, double, incluso puedes meter tus propias clases si tu vieras una clase estudiante la puedes meter, ahora yo lo solucionaría de dos formas.
La primera:
pro=Float.parsefloat(calif.elementAt(0))+Float.parseFloat(calif.elementAt(3));
Lo que hago es volver a convertirlo en float para que me acepte la operación, disculpa por el termino parsear, pero a esto se refiere y ahí ya tendrías la operación
La Segunda:
Vector <Float>calif = new Vector<Float>();
Que sirve para decir de una vez que tu vector es de tipo float, aquí no podrás meter ni string ni int ni ningún otra cosa que no sea Float o el tipo que le hayas definido

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas