该方法必须返回一个 int 类型

The method must return a type int(该方法必须返回一个 int 类型)

本文介绍了该方法必须返回一个 int 类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public int computeStyle(String season) {
    if(season.equals("summer")){
        if (this.style.equals("toque")){
            return 8;
        }
        if (this.style.equals("sun visor")){
            return 1;
        }
        if (this.style.equals("fedora")){
            return 6;
        }
    }
    else if(season.equals("winter")){
        if (this.style.equals("toque")){
            return 1;
        }
        if (this.style.equals("sun visor")){
            return 8;
        }
        if (this.style.equals("fedora")){
            return 7;
        }
    }
    else return 5;
}

为什么我总是收到方法必须返回 int 类型的错误.这个功能有什么问题?它应该在所有可能的情况下都返回一个 int 对吧?

Why do I keep getting the error that the method must return type int. What is wrong with this function? It should return an int in every possible scenario right?

推荐答案

有两个路径没有涉及:

public int computeStyle(String season) {
    if(season.equals("summer")){
        if (this.style.equals("toque")){
            return 8;
        }
        if (this.style.equals("sun visor")){
            return 1;
        }
        if (this.style.equals("fedora")){
            return 6;
        }
        //here
    }
    else if(season.equals("winter")){
        if (this.style.equals("toque")){
            return 1;
        }
        if (this.style.equals("sun visor")){
            return 8;
        }
        if (this.style.equals("fedora")){
            return 7;
        }
        //here
    }
    else return 5;
}

解决方法:用默认返回值声明一个变量并正确赋值:

Solution: declare a variable with the defaut return value and assign the value properly:

public int computeStyle(String season) {
    int result = 5;
    if(season.equals("summer")){
        if (this.style.equals("toque")){
            result = 8;
        }
        if (this.style.equals("sun visor")){
            result = 1;
        }
        if (this.style.equals("fedora")){
            result = 6;
        }
    }
    else if(season.equals("winter")){
        if (this.style.equals("toque")){
            result = 1;
        }
        if (this.style.equals("sun visor")){
            result = 8;
        }
        if (this.style.equals("fedora")){
            result = 7;
        }
    }
    return result;
}

这篇关于该方法必须返回一个 int 类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:该方法必须返回一个 int 类型