【发布时间】:2013-09-28 12:53:21
【问题描述】:
这是我的全部代码 在命令提示符下出现以下错误。请帮助我解决它,这里是初学者。
"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]);
}
}
}
【问题讨论】:
-
你想做什么 -
s[i].Student();? -
打电话给
s[i].Student();时你打算做什么?如果你想调用构造函数,那么你不需要它,因为你已经在s[i]=new Student();中调用了它 -
Student()是一个构造函数,而不是你可以这样调用的函数。 -
调用用户定义的构造函数Student..不知道对不对。