2014-11-29 3 views
2

Я новичок в java. Моя программа постоянно показывает «Не могу найти символ» Ошибка. Я создал Java-код для отображения строки. Имя файла Hello.java Код:Ошибка «не найден символ» в классе java

public class Hello 
{ 

private String first; 
private String middle; 
private String last; 


public void Name(String f, String m, String l) 
{ 
    first=f; 
    middle=m; 
    last=l; 
} 

public void Name(String f, String l) 
{ 
    first=f; 
    middle=" "; 
    last=l; 
} 

public void Name(String l) 
{ 
    first=" "; 
    middle=" "; 
    last=l; 
} 

public String toString() 
{ 
    return first + " " + middle +" "+ last; 
} 

public String getFirst() 
{ 
    return first; 
} 

public String getMiddle() 
{ 
    return middle; 
} 

public String getLast() 
{ 
    return last; 
} 

public void setFirst(String fname) 
{ 
    first=fname; 

} 

public void setMiddle(String mname) 
{ 
    middle=mname; 

} 

public void setLast(String lname) 
{ 
    last=lname; 

} 


} 

Основной класс (FullName.java) идет следующим образом:

public class FullName 
{ 
    public static void main(String[] args) 
    { 
     Name urname = new Name("aakash"); 
     System.out.println("Your Name is :"+urname.toString()); 
    } 
} 

Моя ошибка идет, как:

FullName.java:5: error: cannot find symbol 
     Name urname = new Name("aakash"); 
     ^
  symbol:   class Name 
  location: class FullName 
FullName.java:5: error: cannot find symbol 
     Name urname = new Name("aakash"); 
                      ^ 
  symbol:   class Name 
  location: class FullName 
2 errors 

I я использую терминал Mac OS для компиляции и запуска. Оба файла хранятся в одном каталоге. Я полагаю, что это очень простая ошибка, но поскольку я новичок в этом, мне нужна помощь. Спасибо заранее!

+0

@ZouZou - на самом деле, название класса здесь 'Hello'. Таким образом, это даже не предполагается * считается конструктором. :) – RealSkeptic

+0

В объявлении вашего класса говорится «public class Hello». Вы предполагали, что это «имя публичного класса»? Ваша основная функция предполагает, что вы намеревались назначить имя. – bgoldst

+0

Я бы также рекомендовал использовать IDE. Они могут действительно облегчить процесс разработки (например, исправления, например, использование импорта также полезно). –

ответ

2

Вы неправильно назвали свой класс, это называется Hello, пока вы, кажется, намереваетесь называть его Name. Кроме того, обратите внимание, что конструкторы не имеют возвращаемые типы в Java, даже не пустота:

public class Name // Note the renaming 
    { 

    private String first; 
    private String middle; 
    private String last; 


    public Name(String f, String m, String l) // Note the removal of void 
    { 
     first=f; 
     middle=m; 
     last=l; 
    } 

    public Name(String f, String l) // Note the removal of void 
    { 
     first=f; 
     middle=" "; 
     last=l; 
    } 

    public Name(String l) // Note the removal of void 
    { 
     first=" "; 
     middle=" "; 
     last=l; 
    } 

    // rest of the class 

Кроме того, не забудьте переименовать файл Name.java вместо Hello.java.

1

Удалите пустоту от имени вашего конструктора, поскольку конструктор не имеет типа возврата, даже не пусто, и измените имя класса как Name вместо Hello и сохраните его в файле Name.java.

Смежные вопросы