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

面向对象编程中get方法if-else逻辑异常:无法输出指定字符串求助

问题分析与解决方案

看起来你的代码里有几个关键问题导致没有输出,我来一步步帮你排查和修正:

核心问题梳理

  • 空指针异常隐患:如果Gh变量没有初始化(默认是null),调用Gh.length()会直接抛出NullPointerException,方法根本执行不到后续的逻辑,自然没有输出。
  • 逻辑错误:你的getGh方法里,当Gh长度不为0时,会把它设置为null——这意味着只要Gh原本有内容,最后都会被清空,ShowGh返回的就是Title: null,完全不符合你想要的效果。
  • 缺少输出操作:你只定义了ShowGh方法返回字符串,但没有通过System.out.println()之类的语句把这个字符串打印出来,就算方法正常执行,你也看不到结果。

修正后的代码示例

// 先在类中定义Gh变量,建议初始化避免null问题
private String Gh = ""; // 或者根据需求初始化为null,后续处理

public String getGh() {
    // 先判断Gh是否为null或空字符串,避免空指针
    if (Gh == null || Gh.length() == 0) {
        Gh = "AAAAA";
    }
    // 保留原Gh的内容,不再强制设为null
    return this.Gh;
}

// 遵循Java命名规范,方法名用小驼峰
public String showGh() {
    return "Title: " + this.Gh;
}

// 必须调用方法并打印结果才能看到输出
public static void main(String[] args) {
    // 替换成你的类名
    YourClass obj = new YourClass();
    obj.getGh(); // 先触发Gh的设置逻辑
    System.out.println(obj.showGh()); // 输出到控制台
}

关键修改说明

  1. 空指针防护:增加Gh == null的判断,确保在调用length()之前,先确认变量不是null,避免程序崩溃。
  2. 逻辑调整:只有当Gh是null或者空字符串时,才将其设置为"AAAAA",其他情况保留原内容——这才符合你“检查字符串长度并设置指定内容”的需求。
  3. 输出操作:在main方法中调用showGh()并通过System.out.println()打印结果,这是你能看到输出的关键步骤。
  4. 编码规范:把ShowGh改成showGh,遵循Java小驼峰的方法命名习惯,让代码更易读。

如果你还有其他细节(比如Gh的初始化场景、类的完整结构),可以补充说明,我再帮你调整~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:23:24