有谁可以告诉我为什么程序在第三部分没有执行,即当我通过复制构造函数时? 它表示在Stud(studs)附近预期的标识符
class Stud
{
String name;
int rollno;
double per;
Stud()
{
name="";
rollno=0;
per=0.0;
}
Stud(String n,int rn,double p)
{
name=n;
rollno=rn;
per=p;
}
Stud(Studs)
{
name=s.name;
rollno=s.rollno;
per=s.per;
}
void display()
{
System.out.println(name+ "\t" +rollno+ "\t" +per);
}
}
class StudApp14
{
public static void main(String a[])
{
Stud s1=new Stud();
Stud s2=new Stud("Amit",501,65.0);
Stud s3=new Stud(s2);
s1.display();
s2.display();
s3.display();
}
}
答案 0 :(得分:1)
问题是这个构造函数
Stud(Studs)
{
name=s.name;
rollno=s.rollno;
per=s.per;
}
它应该是(你在类型和变量名之间缺少空格):
Stud(Stud s)
{
name=s.name;
rollno=s.rollno;
per=s.per;
}
答案 1 :(得分:0)
螺柱(螺柱) { 命名= s.name; rollno = s.rollno; 每= s.per; } 什么是“螺柱”?没有定义。
也许你的意思
Stud (Stud s ) {}
答案 2 :(得分:0)
错误在于此构造函数:
Stud(Studs)
{
name=s.name;
rollno=s.rollno;
per=s.per;
}
你的意思是:
Stud(Stud s)
{
name=s.name;
rollno=s.rollno;
per=s.per;
}
答案 3 :(得分:0)
编译器认为“Studs”是一种类型并且缺少标识符。因此,如果您严格遵循编译器错误并决定通过添加如下标识符来修复它:
Stud(Studs s)
然后你会收到一个错误说:
error: cannot find symbol
这意味着编译器搜索“Studs”类型并找不到它。
有关java类型,值和变量的更多信息,请访问:http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html