繁体   English   中英

退货声明不正确

[英]return statements are not coming out right

我需要编写一个方法来检查是否:

A = 所有数字都相等。 B = 没有数字相等。 C = 至少有两个数字相等。

我刚刚开始在 uni 中学习所有这些,但我似乎无法弄清楚我在这个需要返回给定条件的方法中做错了什么,例如(“A”,“B”,“C”)。

public static int checkNumbers(int x, int y, int z) 
{ 
    int A,B,C;

    A = 'A';
    B = 'B';
    C = 'C';

    if((x == y) && (y == z))
    {
        return A;
    }
    else if ((x == y) || (x == z) || (y == z))
    {
        return C;

    }
    else
    {
        return B;
    }
}

您已将 A、B 和 C 声明为整数,然后为它们分配了一个“Char”。 也许试试

public static char checkNumbers(int x, int y, int z) 
{ 
    char A,B,C;

    A = 'A';
    B = 'B';
    C = 'C';

    if((x == y) && (y == z))
    {
        return A;
    }
    else if ((x == y) || (x == z) || (y == z))
    {
        return C;

    }
    else
    {
        return B;
    }
}

或者,使用字符串

public static String checkNumbers(int x, int y, int z) 
{ 
    String A,B,C;

    A = "A";
    B = "B";
    C = "C";

    if((x == y) && (y == z))
    {
        return A;
    }
    else if ((x == y) || (x == z) || (y == z))
    {
        return C;

    }
    else
    {
        return B;
    }
}

返回给定条件 eg("A", "B", "C")

那么你应该返回一个String (或char ),而不是int

public static String checkNumbers(int x, int y, int z) { 
    if (x == y && y == z) {
        return "A";
    } else if (x == y || x == z || y == z) {
        return "C";
    } else {
        return "B";
    }
}

public static void main(String[] args) {
   System.out.println(checkNumbers(0, 0, 0)); // A 
   System.out.println(checkNumbers(0, 0, 1)); // C
   System.out.println(checkNumbers(0, 1, 2)); // B
}

否则,您需要打印(char) checkNumbers(...)int返回值转换为可打印字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM