С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39

Не удается вызвать свой метод (cannot find symbol)

15.04.2013, 17:01. Показов 6668. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дробрый день, пытаюсь вызвать свой метод, описанный в одном файле, на jsp страничке, на что нетбинс выдает ошибку "cannot find symbol symbol: method getDate() location: class Object"

Причем вызов метода нормально работает на той же страничке, где он объявлен. Например

объявим метод
public String getDate(){
return Date;
}

чуть ниже переопределим toString, который, допустим, помимо метода getDate() вызывает еще один метод getOther() и какуюнибудь информацию.
@Override
public String toString() {
return "Дата:" + getDate() + "Остальное:" + getOther();
}

Далее при вызове на jsp страничке
out.println(MyClass.HashTable_Container. get(key));
все работает нормально и вадает все как переопределено в toString, но в месте, где требуется вывести одну лишь дату и куда я прописал
MyClass.HashTable_Container.get(key).get Date()
выдает выше сказанную ошибку.

В чем дело?
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2013, 17:01
Ответы с готовыми решениями:

Cannot find symbol symbol: class Serializable в IDEA Ubuntu
В IDEA после View -> Tool Windows -> Maven Project -> Install появляются ошибки /usr/lib/jvm/java-8-oracle/bin/java...

Не удается вызвать метод
Добрый день. Скрипт работает, но по итогу парсинга в Субд выдает ошибку _________$ /usr/bin/perl...

Ошибка: cannot find symbol symbol: class toString location: class java.util.Date
import java.util.Date; import java.lang.String; import java.io.*; public class Sword { public static void main(String args)...

14
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
15.04.2013, 17:53
предположу, что ваш хэштейблконтейнер возвращает тип Object, у которого естественно нет метода getDate()
0
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
15.04.2013, 18:08  [ТС]
exiqa, да, тип Object.
Как поступить с методом в данном случае?
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 18:26
http://www.k-press.ru/cs/2008/... eneric.asp
0
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
15.04.2013, 18:41  [ТС]
AckiyBolt, если я верно понял смысл, wildcards удобен при работе с разными типами, когда значене типа неизвестно, но как быть мне, присвоить типу Object метод getDate()?
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
15.04.2013, 19:19
сделайте ваш хештейбл generic-ом. Тогда и возвращаться будет не Object, а ваш класс. Или просто кастуйте полученный объект к вашему классу.
1
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 19:37
Цитата Сообщение от Deimoser Посмотреть сообщение
AckiyBolt, если я верно понял смысл, wildcards удобен при работе с разными типами, когда значене типа неизвестно, но как быть мне, присвоить типу Object метод getDate()?
вы бы для начала выложили сорцы вашего HashTable_Container. тогда было бы понятно что именно с ним делать
0
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
15.04.2013, 19:47  [ТС]
exiqa, AckiyBolt,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class MyClass extends HttpServlet {
public static Hashtable Mess_Container = new Hashtable();
public static Hashtable HashTable_Container = new Hashtable();
 
    public Object PutMess(String a, Object Mess2) {
        return Mess_Container.put(a, Mess2); 
    }
    public Object GetMess(String a) {
        return Mess_Container.get(a);   
    }
    
        Date now = new Date();
        DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
        String Date_Create = formatter.format(now); 
        String Other = other;
        String key = key;
        Mess2 x = new Mess2(Date_Create, Other); 
  
            HashTable_Container.put(key, x);
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 19:49
мама...
а вы точно все-все скопипастили?
0
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
15.04.2013, 19:59  [ТС]
AckiyBolt, нет, за исключением незначительных упрощений и подключаемых библиотек + закрывающие скобки.

Mess2 это и есть класс в котором описан метод getDate() и переопределен toString
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 20:14
попробуйте все-таки скопипастить все
0
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
15.04.2013, 20:18  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
package ololo;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Hashtable;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.binary.Base64;
import ololo.Mess2;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Date;
public class MessageServlet extends HttpServlet {
public static Hashtable Mess_Container = new Hashtable();
public static Hashtable SubForum1_Container = new Hashtable(); // Контейнер разделов
public static Hashtable SubForum2_Container = new Hashtable(); // Контейнер разделов
public static Hashtable SubForum3_Container = new Hashtable(); // Контейнер разделов
 
    public Object PutMess(String a, Object Mess2) {
        return Mess_Container.put(a, Mess2); 
    }
    public Object GetMess(String a) {
        return Mess_Container.get(a);   
    }
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, ClassNotFoundException {
                request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter out = response.getWriter();
        
       String queryData = request.getQueryString();
       String SubF = request.getParameter("SubF_list");
       String queryData_login = request.getParameter("name");
       String queryData_pass = request.getParameter("pass");  
       String theme_header = request.getParameter("theme_header");
       String theme_text = request.getParameter("theme_text");
 
       /******************* Раскодирование логина и пароля *****************/
       String revers_encode_login = new StringBuffer(queryData_login).reverse().toString();
       String revers_encode_pass = new StringBuffer(queryData_pass).reverse().toString();
          
       byte[] LOGIN = Base64.decodeBase64(revers_encode_login.getBytes());
       byte[] PASS = Base64.decodeBase64(revers_encode_pass.getBytes());          
       Arrays.toString(LOGIN);
       Arrays.toString(PASS);          
       String new_login = new String(LOGIN); 
       String new_pass = new String(PASS); 
        /********************************************************************/
       
        Date now = new Date();
        DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
        String Date_Create = formatter.format(now); 
        
        Mess2 x = new Mess2(theme_text, new_login, Date_Create, SubF); // Создаем объект сообщения
        
        if("Раздел 1".equals(SubF)){
            SubForum1_Container.put(theme_header, x); 
        }
        
        if("Раздел 2".equals(SubF)){
            SubForum2_Container.put(theme_header, x); 
        }
                
        if("Раздел 3".equals(SubF)){
            SubForum3_Container.put(theme_header, x); 
        }
        
        try {  
            out.println("<html>");
            out.println("<head>");
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html");
            out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
            out.println("<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL=ok_theme.jsp?" + queryData +"\">");
            out.println("<title>Регистрация | Форум БалластTEAM</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("</body>");
            out.println("</html>");
        } finally {            
            out.close();
        }
    }
 
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (IOException ex) {
            Logger.getLogger(MessageServlet.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(MessageServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (IOException ex) {
            Logger.getLogger(MessageServlet.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(MessageServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
Mess2.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package ololo;
 
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class Mess2 extends HttpServlet {
    public String Text;
    public String Creater;
    public String Date;   
    public String SubF; 
    
    Mess2(String Textt, String Createrr, String Dataa, String SubFf) {
        this.Text = Textt;
        this.Creater = Createrr;
        this.Date = Dataa;
        this.SubF = SubFf;
    }
    
    public String getText(){
        return Text;
        }
    public String getCreater(){
        return Creater;
        }
    public String getDatte(){
        return Date;
        }
    public String getMess(){
     return "<b>" + this.Text + "</b> " + this.Creater;
    }
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here. You may use following sample code. */
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Mess2</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet Mess2 at " + request.getContextPath() + "</h1>");
            out.println("</body>");
            out.println("</html>");
        } finally {            
            out.close();
        }
    }
 
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    
    @Override
    public String toString() {
    return ""  + this.Creater + " -<i> " + getDatte() +  "</i>";
        }  
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
 
    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 20:37
таки дженерики. попробуйте не так:

Java
1
Hashtable SubForum1_Container = new Hashtable();
а так:

Java
1
Hashtable<String, Mess2> SubForum1_Container = new Hashtable<String, Mess2>();
тогда таблица будет возвращать не обджект, а ваш Mess2, в котором есть метод getDatte()
1
4 / 4 / 0
Регистрация: 16.10.2012
Сообщений: 39
15.04.2013, 20:50  [ТС]
AckiyBolt, огромное спасибо, помогло
0
3 / 3 / 1
Регистрация: 28.12.2011
Сообщений: 253
03.06.2013, 18:31
У меня такая ошибка: 7. cannot find symbol 8. Constructor BankAccount (int, java.lang.String, double, double, boolean, double) 9. location class BankAccount BankAccount accounts []={new BankAccount(1, "First", 100.00, 50.00, true, 0.00). // Сам пакет имеет 2 файла:1) В первом есть описание счета package Accounting / public class BankAccount {/ private Integer number;/ private String name;/ private double balance;/ private double amount;/ private boolean overdraft; /private double interest_rate;/ public BankAccount (перечень вышеперечислен ых полей через запятую) /{ потом присвоение через зис: this.number=number; во втором файле package Accounting; / public class work {/ public static void main ...{/ BankAccount accounts []={new BankAccount (...последняя строка ошибки.- то есть не понятно в чем ошибка при создание масива при создание обьектов класа описаных в первом файле что компил. без ошибок. Новая строка в коже позначена знаком /.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2013, 18:31
Помогаю со студенческими работами здесь

Через некоторое время простоя приложения, не удается вызвать метод
Здравствуйте! У меня есть приложение, которое через определенный промежуток времени (несколько минут, в зависимости от настроек) вызывает...

Для всех файлов из папки с одинаковым расширением, вызвать свой созданный метод
Здравствуйте! Как можно для всех файлов из папки с одинаковым расширением к примеру .csv, вызвать свой созданный метод? Вот пример...

cannot find symbol
Вот переписал пример из книги но почему-то не работает, в чем может быть проблема? cannot find symbol symbol: method...

Cannot find symbol
import java.util.Scanner; class HelloWorld{ public static void main(String args){ Scanner in = new Scanner (System.in); ...

Cannot find symbol
здравствуйте, помогите пожалуста! делаю апплет. надо прицепить addActionListener к Checkbox пытаюсь это реализовать пишет ошибку ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru