2013-11-26 3 views
1

Я не знаю, что случилось, но я не могу получить этот метод, чтобы вернуть символы, которых я хочу. Я просто продолжаю получать ошибку в виде красных линий под словом «return»Возвращение символа из метода

Вот мой метод.

public static char getOperator(String fileContent){ 


    int checkAdd = fileContent.indexOf('+'); 
    int checkMinus = fileContent.indexOf('-'); 
    int checkMulti = fileContent.indexOf('*'); 
    int checkDivi = fileContent.indexOf('/'); 

    if (checkAdd != -1){ 
     return char operator = fileContent.charAt(fileContent.indexOf('+')); 
    } 
    else if (checkMinus != -1) { 
     return char operator = fileContent.charAt(fileContent.indexOf('-')); 
    } 
    else if (checkMulti != -1) { 
     return char operator = fileContent.charAt(fileContent.indexOf('*')); 
    } 
    else if (checkDivi != -1){ 
     return char operator = fileContent.charAt(fileContent.indexOf('/')); 
    } 
    return 0; 


    } 

Хорошо, жаль, что я был возиться с ним в упадке и не расслышал этот вопрос. Однако теперь операторы return в ifs все еще создают ошибки. Как это исправить?

+0

Ваша функция ничего не возвращает 'государственной статической силы getOperator()' – Scony

+0

государственной статической силы getOperator() {} ... и вы ожидаете его вернуть что-нибудь? – JoeC

+0

замените возврат. Вы в настоящее время возвращаете число, а не символ; 'return '';' –

ответ

1

Попробовать это

public static char getOperator(String fileContent){ 

    int checkAdd = fileContent.indexOf('+'); 
    int checkMinus = fileContent.indexOf('-'); 
    int checkMulti = fileContent.indexOf('*'); 
    int checkDivi = fileContent.indexOf('/'); 

    if (checkAdd != -1){ 
     char operator = fileContent.charAt(checkAdd); 
     return operator; 
    } 
    else if (checkMinus != -1) { 
     char operator = fileContent.charAt(checkMinus); 
     return operator; 
    } 
    else if (checkMulti != -1) { 
     char operator = fileContent.charAt(checkMulti); 
     return operator; 
    } 
    else if (checkDivi != -1){ 
     char operator = fileContent.charAt(checkDivi); 
     return operator; 
    } 

    return ' '; 
} 
+0

Это работает !! Блестяще, спасибо. – CherryBomb95

2

В принципе, метод подписи ...

public static void getOperator(){ 

Штаты, что метод не возвращает ничего.

Вместо этого он должен быть объявлен больше как ...

public static char getOperator(){ 
0

Ты обратный метод является недействительным, не символ, так что вы не можете вернуть значение.

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