无法从其他方法打印出字符串?

时间:2014-03-23 01:57:53

标签: java string class

我是Java的新手,我正在尝试完成宾果游戏的第一步,随机调用,这是来自B,I,N,G,O的随机字母。随机相应的字母,但它不起作用,错误:

MISSING RETURN STATEMENT.

有人能帮助我吗?这是我的代码:

import java.util.Random;

public class random {

    public static void main(String[] args) {
        Call();
        System.out.println(Call());

    }

    public static String Call() {
        Random call = new Random();
        int numb = call.nextInt(75) + 1;
        if (numb < 16) {
            return "B" + numb;
        } else if (numb < 31 && numb > 15) {
            return "I" + numb;
        } else if (numb < 46 && numb > 30) {
            return "N" + numb;
        } else if (numb < 61 && numb > 45) {
            return "G" + numb;
        } else if (numb < 76 && numb > 60) {
            return "O" + numb;
        }
    }
}

4 个答案:

答案 0 :(得分:1)

您需要Call之后的(),System.out.println(Call());

或者,您可以这样做:

    String theCall = Call();
    System.out.println(theCall);

答案 1 :(得分:0)

如果您需要将变量作为变量,则尚未定义Call,但如果您的意思是打印函数的输出,则应该是

 System.out.println(Call());

答案 2 :(得分:0)

试试这个.........它为我工作。

import java.util.Random;

公共课宾果游戏{

    public static void main(String[] args) {
        String output=Call();
        System.out.println(output);

    }

    public static String Call() {
        String name="";
        Random call = new Random();
        int numb = call.nextInt(75) + 1;
        if (numb < 16) {
            return "B" + numb;
        } else if (numb < 31 && numb > 15) {
            return "I" + numb;
        } else if (numb < 46 && numb > 30) {
            return "N" + numb;
        } else if (numb < 61 && numb > 45) {
            return "G" + numb;
        } else if (numb < 76 && numb > 60) {
            return "O" + numb;
        }
        return name;
    }
}

答案 3 :(得分:0)

使用Java,您需要在代码末尾使用failafe返回语句,因此如果其他所有其他方法失败,程序仍然可以返回。

如果您使用影响程序的布尔语句,则尤其重要,例如:

public void Age() {

    int person = 0;

    if(person >= 0 && person =< 1) {
       return true;
    }
    else if (person > 1 && person =< 5) {
       return true;
    }

这段代码的问题是,如果这些都不是真的,它需要一个最终的return语句。假设我输入6,Java不能返回任何内容。

所以我们添加另一个返回作为默认值。要么是另一个其他声明,要么只是像JavaKumar那样直接返回。

public void Age() {

    int person = 0;

    if(person >= 0 && person =< 1) {
       return true;
    }
    else if (person > 1 && person =< 5) {
       return true;
    }
    else {
       return false;
    }

希望这有助于理解这个概念。