2012-05-23 2 views
-1

Не уверен, что заголовок имеет смысл, но я пытаюсь вернуть сообщение Success из класса, который получает связанныйhashmap, однако eclipse дает мне ошибку, когда я пытаюсь скомпилировать файлы, предлагаяjava return string from class (linkedhashmap)

Remove arguments to match 'logFile()'

Create constructor 'logFile(Map<String, String>)'

Как делать его настроить, чтобы отправить Map и revieve в String? ТНХ Art

Код исправлен в соответствии с @Jeff Стори ниже с подавлением ошибок для затмения

класс вызывающий

eventLog.put(stringA,stringB); 
logFile logStuff = new logFile(); 
successRtn = logFile.Process(eventLog); 
    // Do Stuff with SuccessRtn 

класс LOGFILE

public class logFile { 
    static String Success = "Fail"; 

    public static String Process(Map<String, String> eventlog){ 
    // Do Stuff 
    Success = "Yeh!" 
    return Success; 
    } 

    public static void main(String[] args){ 
    @SuppressWarnings("static-access") 
    String result = new logFile().Procces(eventLog); 
    System.out.println("result = " + result); 
} 

ответ

1

Основной метод является специальный метод, подпись которого должна быть public static void main(String[] args), когда используется как точка входа в ваше приложение. Создайте второй метод, который делает фактическую работу, как это:

public class LogFile { 

    public String process(Map<String,String> eventLog) { 
     // do stuff 
     return success; 
    } 

    public void main(String[] args) { 
     // eventLog will probably be read from a filepath passed into the args 
     String result = new LogFile().process(eventLog); 
     System.out.println("result = " + result); 
    } 
} 

Обратите внимание, что многие из ваших именования являются также нестандартными. Классы должны начинаться с прописной буквы, а переменные должны начинаться с нижнего регистра.

+0

работал с незначительной настройкой, исправленной в исходном коде –