这是我的全部代码 在命令提示符中出现以下错误。请帮助我解决它,这是一个初学者。
"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]);
}
}
}
答案 0 :(得分:1)
在第35行,您正在使用构造函数
正确实例化一个类s[i]=new Student();
在第36行,你是错误的(并且没有明显的逻辑原因?)像方法一样调用构造函数。删除这一行:
s[i].Student();
答案 1 :(得分:0)
答案 2 :(得分:0)
此外,您不需要Main类,请将您的方法设为main并将其放入您的类Student中,删除此行:
S [I] .Student();
程序运行良好
答案 3 :(得分:0)
我认为你正在调用s[i].Student()
之类的构造函数,这是不正确的。
Java将假设Student()是一个方法而不是构造函数。由于您的类中没有方法普通的Student()方法,因此无法找到它。
请记住,构造函数不仅仅是一种简单的方法。这是一种实例化对象的特殊方法。