在向量类(Java)中加载向量



所以我需要为我的程序使用一个向量类。用户定义它的大小,基本上意味着"由于我必须在测试中收到姓名、身份证号码和他们的答案,所以需要处理的学生数量"。然后,我必须将所说的答案与正确的答案进行比较,确定他的分数(如果分数超过70%,他/她就会通过)。我对构造函数感到困惑,因为我似乎无法将值(答案)发送给我的类,从而进行比较,所以学生总是失败并得到"0"。这是我得到的(我是noob:c):

import java.io.*;
class vector
{
private String nom, ced;//name and id
private String[] res = new String [12];//answers
vector (String n, String c)
{
    nom = n;
    ced = c;
}
vector (String tab[])
{
    res = tab;  
}
public String nombre()//name
{
    return nom;
}
public String cedula()//id
{
    return ced;
}
public int puntaje()//score
{
    String[] clv= {"b","c","a","b","d","a","c","d","a","b","c","d"};//right answers
    int x,acum=0;
    for(x=0;x<12;x++)
    {
        if(res[x]==clv[x])
            acum=acum+1;
    }
    return acum;
}
public String resultado()//result
{
    double nota;
    String msg;
    nota = puntaje()*100/12;
    if(nota>=70)
       msg = ("APROBÓ!" + nota);//pass
    else
        msg = ("FRACASÓ!" + nota);//fail
    return msg;
}
}


public class pizza //sorry
{
public static void main(String[] args)throws IOException
{
  BufferedReader br = new BufferedReader(new InputStreamReader (System.in));
  int size;
  System.out.println("Numero de estudiantes que tomaron la prueba ---> ");//# of students
  size = Integer.parseInt(br.readLine());
  vector [] objnc = new vector[size];
  int i, j;
  String nom, ced, r;
  String [] resp = new String [12];
  try
  { 
  for(i=0;i<size;i++)
  {
    System.out.println("Ingrese el nombre ---> ");//name
    nom = br.readLine();
    System.out.println("Ingrese la cédula ---> ");//id
    ced = br.readLine();
    System.out.println("Ingrese las respuestas: ---> ");//answers
    for(j=0;j<12;j++)
    {
        r = br.readLine();
        br.skip(1);
        resp[j] = r;
        vector objc = new vector(resp);
    }
    objnc[i] = new vector(nom,ced);
  }
 }
 catch(NumberFormatException z)
    {   System.out.println("Error de conversion... "+z);
    }
    catch(IOException z)
    { System.out.println("Error de entrada/salida... "+z);
    }
    catch(NullPointerException z)
    { System.out.println("Error de lectura... "+z);
    }
    catch(Exception z)
    { System.out.println("Error... "+z);
    }         
    for(i=0;i<size;i++)
    System.out.println(objnc[i].nombre()+"  "+objnc[i].cedula()+"  "+objnc[i].resultado());
}
}

哈哈,对你的学生来说太糟糕了;)

您应该创建一个名为Student的单独类。在这个学生类中,添加姓名、身份证号码和答案的变量。接下来,在向量类中添加一个名为checkGrades()的方法。这种方法应该以学生对象为自变量。在这种方法中,编写代码来检查每个学生的成绩。如果通过/未通过,则返回true或false。

然后在创建矢量对象的同一文件中创建所需的所有学生对象Ex:student1=新学生(填写参数)

创建完所有学生后,使用向量的checkGrades(),传递一个学生对象作为参数,检查每个学生是否通过。

最新更新