2012-11-24 19 views
6

मैं प्रोग्रामिंग के लिए नया हूं, मुझे खेद है कि यह एक मूर्खतापूर्ण गलती है, लेकिन मुझे यह त्रुटि मिल रही है "CompanyAddress.java:11: error: cannot find symbol System.out.println(testObject.getName(CompanyName));" मुझे नहीं पता कि मैं क्या हूँ गलत कर रहा हूँमैं इसे काम, विधियों और आवृत्ति चर के लिए नहीं प्राप्त कर सकता

मुख्य।

import java.util.Scanner; 
public class CompanyAddress 
{ 
    public static void main(String[] args) 
    { 
    Scanner scan = new Scanner(System.in); 
    test testObject = new test(); 
    System.out.println("Enter name: "); 
    String input = scan.nextLine(); 
    testObject.getName(input); 
    System.out.println(testObject.getName(CompanyName)); 
    } 
} 

मेरी test.java

import java.util.Scanner; 
public class test 
{ 
    String Name; 

    public String getName(String CompanyName) 
    { 
     Name = CompanyName; 
     return Name; 
    } 


} 
+6

एक ओर टिप्पणी। जावा में व्यापक रूप से उपयोग किए जाने वाले नामकरण सम्मेलनों में से एक यह है कि परिवर्तनीय नाम लोअरकेस चरित्र से शुरू होना चाहिए। – fivedigit

उत्तर

2

सभी आप इसे अपने विधि को पार करने से पहले अपने चर companyName घोषित करने के लिए, की जरूरत है सबसे पहले हो सकता है।

दूसरे, अपने विधि: -

public String getName(String CompanyName) 
{ 
    Name = CompanyName; 
    return Name; 
} 

मेरे लिए अजीब लगता है। आप getter and setter के समान विधि का उपयोग कर रहे हैं।

आप separate setter and getter होना चाहिए: -

public void setName(String companyName) { 
    name = companyName; 
} 

public String getName() { 
    return name; 
} 

और उन्हें अलग से आह्वान।

testObject.setName(companyName); 

System.out.println(testObject.getName()); 

बस एक सुझाव: -

जावा का पालन नामकरण प्रथा। फील्ड नाम और विधि नाम लोअरकेस वर्णमाला के साथ शुरू होना चाहिए।तो

public class test 
{ 
    String Name; 

    public void setName(String CompanyName) 
    { 
     Name = CompanyName; 
    } 

    public String getName() { 
     return Name; 
    } 
} 

:

+0

@ डाउनवॉटर .. कृपया टिप्पणी करें, क्योंकि मुझे नहीं लगता कि डाउनवॉटिंग के पीछे आपका इरादा क्या है। –

+0

मैंने ऊपर उठाया, क्योंकि अब तक यह सबसे अच्छा जवाब है। ओपी के सवाल का जवाब देने के अलावा आपने कुछ अच्छी सलाह भी दी, जो ओपी के कोड उदाहरणों से आवश्यक था। –

+0

+1 आपने मुझे मिनटों से हराया .. :-) सही उत्तर –

3

आप चर CompanyName घोषित करने के लिए है। कुछ इस तरह: आपको क्या करना चाहिए

String CompanyName = "CompanyName1"; 
System.out.println(testObject.getName(CompanyName)); 

जब से तुम एक चर संशोधित कर रहे हैं:

public class test 
{ 
     String Name; 

     public void setName(String CompanyName) {this.Name = CompanyName;} 

     public String getName()     {return Name;} 

}

विधि getName "कंपनी" के नाम वापस आ जाएगी और setName को संशोधित करेगा "कंपनी" का नाम। इस तरह आप अलग-अलग अलग-अलग चिंताओं कर सकते हैं।

इसके अलावा, आप भविष्य में कंपनी के वास्तविक नाम को संशोधित किए बिना विधि प्राप्त कर सकते हैं।

3
System.out.println(testObject.getName(CompanyName)); 

क्या CompanyName यह यहाँ है? यह ज्ञात प्रतीक नहीं है। यह System.out.println(testObject.getName("CompanyName"));

या

String CompanyName ="name"; 
System.out.println(testObject.getName(CompanyName); 
+0

कृपया डाउनवोट के लिए टिप्पणी करें ... –

0

का नाम बदलें अपने "getName करने के लिए" setName "(क्योंकि यह एक सेटर है) और अपने वर्ग के लिए एक उचित गेटर जोड़ सकते हैं और उपयोग करें कि

System.out.println(testObject.getName()); 


इसके अलावा , यदि आप मानक नामकरण सम्मेलनों का पालन करते हैं तो यह आपकी सहायता करेगा:

  • कक्षा के नाम शुरू बड़े अक्षर से
  • विधि, चर और पैरामीटर नाम एक छोटा अक्षर
1

मुझे लगता है कि आप नीचे दिए गए की तरह कुछ करने के लिए अपने कार्यक्रम wamt साथ शुरू करते हैं। एक फ़ंक्शन setName() जो पारित मान को नाम और एक getName() पर सेट करेगा जो नाम के मान को वापस कर देगा।

import java.util.Scanner; 
public class test 
{ 
    String Name; 

    public String getName() 
    { 
     return Name; 
    } 

    public String setName(String companyName) 
    { 
     this.Name=companyName; 
    } 
} 

अब

public class CompanyAddress 
{ 
    public static void main(String[] args) 
    { 
    Scanner scan = new Scanner(System.in); 
    test testObject = new test(); 
    System.out.println("Enter name: "); 
    String input = scan.nextLine(); 
    testObject.setName(input); 
    System.out.println(testObject.getName()); 
    } 
} 
+0

कोई भी, यदि आपको लगता है कि बेहतर स्वरूपण/वर्तनी जांचना आवश्यक है। संपादित करने के लिए स्वतंत्र महसूस करें। एक फोन पर एम। स्वरूपण स्वरूपण के बारे में बहुत कुछ करते हैं। अग्रिम धन्यवाद –

+0

यह बहुत सभ्य है :)। – dreamcrash

+0

@dreamcrash धन्यवाद और संपादन के लिए धन्यवाद (वाई) –