构造函数ClassMethod(String,double,int)未定义

时间:2015-08-23 22:24:26

标签: java

在我的主要课程中,我有以下代码:

import java.util.Scanner;

public class ClasePrincipal {

    public static void main (String [] args) {

        Scanner leer = new Scanner(System.in);
        int Alumno;
        String nombre = "";
        double promedio = 0;
        int id = 0;
        int user=0;
        ClassMethod m [] = new ClassMethod [3];
        ClassMethod obj1 = new ClassMethod();

        while (user!=0)
        System.out.println("NOMINA DE ALUMNOS CURSO PEF2501");
        System.out.println("__________________________________");
        System.out.println("1. Imprimir Nomina De Alumnos");
        System.out.println("2. Matricular Alumno");
        System.out.println("3. Remover Alumno");
        System.out.println("4. Comprobar Matricula Alumno");
        System.out.println("__________________________________");
        System.out.println("Elija Una Opcion");
        user=leer.nextInt ();

        if (user==2){
            ClassMethod.matricular();

        }
          m [0] = new ClassMethod(nombre,promedio,id);
          System.out.println(m[0]);


    }  
}

在ClassMethod中,我有以下代码:

import java.util.Scanner;

public class ClassMethod {

    static Scanner leer = new Scanner(System.in);
    public static  String nombre;
    public static double promedio;
    public static int id;
    public static int cm=-1;


    public ClassMethod (){
        nombre = "";
        promedio = 0;
        id = 0;
    }


    public ClassMethod (String n,int i,double p){
         nombre=n;
         id=i;
         promedio=p;

    }

    public static void matricular(){
        cm++;
        id=cm++;
        System.out.println("Ingrese El Nombre Del Alumno");
        nombre=leer.nextLine();
        System.out.println("Ingrese El Promedio Del Alumno");
        promedio=leer.nextDouble();

    }

    public void setId(int id){
          this.id = id;
         }

     public int getId(){
          return id;
         }

     public void setNombre(String nombre){
          this.nombre= nombre;
         }

     public String getNombre(){
          return nombre;
         }

     public void setPromedio (double promedio){
         this.promedio=promedio;
     }

     public double getPromedio (){
         return promedio;
     }
}

Eclipse给我这个错误:

构造函数ClassMethod(String,double,int)未定义

请帮帮我

1 个答案:

答案 0 :(得分:2)

你的订单错了,这个

m [0] = new ClassMethod(nombre,promedio,id);

应该是

m [0] = new ClassMethod(nombre,id, promedio);

因为您的构造函数需要Stringintdouble。此外,您的while循环似乎缺少大括号(因此它只包含紧随其后的行)。