You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java方法返回值异常:判断数值相等逻辑报错求助

问题排查与修正

你的代码判断逻辑是正确的,但返回值相关的定义完全不符合需求,导致返回结果不是预期的"A"/"B"/"C",具体问题如下:

核心错误点

  • 方法返回值类型错误:需求要求返回字符串类型的"A"/"B"/"C",但你定义的方法返回类型是int,最终返回的是字符对应的ASCII码值(比如'A'的ASCII码是65),不是目标字符串。
  • 变量类型与赋值错误:你将A/B/C定义为int类型,并用'A'这类字符字面量赋值,Java中'A'是char类型,赋值给int会自动转换为对应的ASCII数值,这和返回字符串的需求完全不匹配。

修正后的代码

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

说明

  • 将方法返回类型从int改为String,匹配返回字符串的需求。
  • 直接返回字符串字面量"A"/"B"/"C",无需额外定义冗余变量,简化代码结构。
  • 原有判断逻辑完全正确:先判断三个数值全相等(返回A),再判断至少两个数值相等(返回C),最后剩下的情况就是所有数值都不相等(返回B)。

内容的提问来源于stack exchange,提问作者Yeetium

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:41:01