我不知道出了什么问题,但我无法通过这种方法返回我想要的字符。我只是在“返回”一词下以红线的形式出现错误
这是我的方法。
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语句仍会产生错误。我该如何解决这个问题?
答案 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,所以你不能返回一个值。