Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:找不到符号。。在我的Java程序中_Java_String_Find_Symbols - Fatal编程技术网

错误:找不到符号。。在我的Java程序中

错误:找不到符号。。在我的Java程序中,java,string,find,symbols,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 c

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

"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]);
        }
    }
}
“Student.java:36:错误:找不到符号
s[i].Student();
^
符号:方法学生()
地点:班级学生
1错误“
导入java.util.*;
公立班学生
{
整流罩;
字符串名称=新字符串();
学生()
{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入名称”);
name=sc.next();
系统输出打印项次(“输入卷号”);
滚动=sc.nextInt();
}
公共字符串toString()
{
返回“名称:”+名称+“+”卷号:“+卷;
}
}
班长
{
公共静态void main(字符串参数[])
{
int n,i;
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入学生人数”);
n=sc.nextInt();
学生s[]=新学生[n];

对于第35行的(i=0;i,您正确地使用构造函数实例化了一个类

s[i]=new Student();
在第36行,您错误地(并且没有明显的逻辑原因?)调用构造函数,就像调用方法一样。删除这一行:

s[i].Student();

你不需要这句话:
s[i].Student();

编写
newstudent()
时,将调用
Student()
构造函数


另外,您不需要类Main,将方法Main放入类中,学生,删除此行:

s[i].Student();
s[i].Student()


程序运行良好

我认为您调用的构造函数类似于
s[I].Student()
,这是不正确的

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


记住,构造函数不仅仅是一个普通的方法。它是一个实例化对象的特殊方法。

你想用-
s[i].Student();
?调用
s[i].Student();
?如果你想调用构造函数,那么你不需要它,因为你已经在
s[i]中调用了它=new Student();
Student()
是一个构造函数,而不是一个可以这样调用的函数。调用用户定义的构造函数Student..不知道是否正确。如果我想让构造函数重载以完成上述扫描工作,该怎么办?删除s[i].Student();是否有效?