2013-01-14 22 views
-6

任何人都可以告訴我爲什麼程序在第三部分執行失敗,即當我傳遞複製構造函數嗎? 它說,該標識符預期梭哈附近(螺栓)我想檢查並運行下面的代碼,但它給了我預期的錯誤標識符

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

有沒有在您的實際代碼梭哈和S之間的空間?它看起來像螺柱在這裏。 –

+0

沒有空間 – Akshay

+0

問題已解決.... – Akshay

回答

0

螺柱(螺柱) { name = s.name; rollno = s.rollno; per = s.per; } 什麼是「螺栓」?沒有定義它。

也許你的意思

Stud (Stud s) {} 
1

問題是這種構造

Stud(Studs) 
{ 
    name=s.name; 
    rollno=s.rollno; 
    per=s.per; 
} 

應該(你缺少的類型和變量名之間的空格):

Stud(Stud s) 
{ 
    name=s.name; 
    rollno=s.rollno; 
    per=s.per; 
} 
+0

但我要問的問題是什麼? – Akshay

+0

@Akshay:問題是你缺少類型,見其他constrcutors,其中字符串類型和n是變量的名稱。 – kosa

+0

感謝您的時間... – Akshay

0

的錯誤是在這個構造:

Stud(Studs) 
{ 
    name=s.name; 
    rollno=s.rollno; 
    per=s.per; 
} 

您的意思是:

Stud(Stud s) 
{ 
    name=s.name; 
    rollno=s.rollno; 
    per=s.per; 
} 
0

編譯器認爲, 「鉚釘」 是一個類型,缺少一個標識符。所以,如果你遵循編譯器錯誤嚴格,並決定通過增加像這樣的標識解決它:

Stud(Studs s) 

然後你會得到一個錯誤說:

error: cannot find symbol 

這意味着,編譯器搜索的鍵入「螺栓」並找不到它。

更多關於Java類型,值和變量在這裏:http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html

相關問題