return语句没有正确输出



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

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

我刚开始在大学学习所有这些,但我似乎无法找出我在这个方法中做错了什么,它需要返回给定的条件,例如("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;
}
}

或者使用String

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;
}
}

返回给定的条件,例如("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返回值转换为可打印的字符

最新更新