错误:在My Java Program中找不到符号..

时间:2013-09-23 14:52:39

标签: java string find symbols

这是我的全部代码 在命令提示符中出现以下错误。请帮助我解决它,这是一个初学者。

"Student.java:36: error: cannot find symbol
                        s[i].Student();
                            ^
  symbol:   method Student()
  location: class Student
1 error"

    import java.util.*;

public class Student
{
    int roll;
    String name=new String();


    Student()
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter Name");
        name=sc.next();
        System.out.println("Enter Roll No");
        roll=sc.nextInt();
    }

    public String toString()
    {
        return "Name:"+name+" "+"Roll Number:"+roll ;
    }
}

class Main
{
    public static void main(String args[])
    {
        int n,i;
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the number of students");
        n=sc.nextInt();
        Student s[]=new Student[n];
        for(i=0;i<n;i++)
        {
            s[i]=new Student();
            s[i].Student();
        }
        for(i=0;i<n;i++)
        {
            System.out.println(s[i]);
        }
    }
}

4 个答案:

答案 0 :(得分:1)

在第35行,您正在使用构造函数

正确实例化一个类
s[i]=new Student();

在第36行,你是错误的(并且没有明显的逻辑原因?)像方法一样调用构造函数。删除这一行:

s[i].Student();

答案 1 :(得分:0)

你不需要那条线: s[i].Student();

编写Student()时会调用new Student()构造函数。

Read this about constructors in Java.

答案 2 :(得分:0)

此外,您不需要Main类,请将您的方法设为main并将其放入您的类Student中,删除此行:

S [I] .Student();

程序运行良好

答案 3 :(得分:0)

我认为你正在调用s[i].Student()之类的构造函数,这是不正确的。

Java将假设Student()是一个方法而不是构造函数。由于您的类中没有方法普通的Student()方法,因此无法找到它。

请记住,构造函数不仅仅是一种简单的方法。这是一种实例化对象的特殊方法。