从方法返回char

时间:2013-11-26 01:18:27

标签: java eclipse methods char 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;


    }

好的,对不起,我在日食中一直在弄乱它,并没有发现这个问题。但是,现在ifs中的return语句仍会产生错误。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

基本上,方法签名......

public static void getOperator(){

声明该方法不返回任何内容。

相反,它应该被宣布更像......

public static char getOperator(){

答案 1 :(得分: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 ' ';
}

答案 2 :(得分:0)

你的返回方法是void,而不是char,所以你不能返回一个值。