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

Java如何获取用户输入并删除字符串末尾的x字符?

Java 字符串末尾x移除逻辑修复

现有代码存在的问题

  • 数据源混淆:读取用户输入存储到readInput变量后,后续判断、修改字符串全程使用方法入参str,没有用到用户输入的内容
  • 逻辑不符合需求:需求是最后两个字符均为x时才移除这两个x,现有逻辑是分别判断倒数第二位、倒数第一位是否为x单独删除,匹配规则错误
  • 返回值硬编码:最终返回固定字符串"str",而非处理后的结果
  • 存在资源泄漏:Scanner使用完成后未关闭,且原有代码未导入Scanner相关包会触发编译错误

修复后代码

import java.util.Scanner;

class Main 
{
    public static String problem1_removeChars() {
        Scanner myScanObj = new Scanner(System.in);
        System.out.println("Enter your string: ");
        
        String readInput = myScanObj.nextLine();
        System.out.println("Your String Is: " + readInput);
        myScanObj.close(); // 关闭扫描器释放资源
        
        int stringLength = readInput.length();
        String result = readInput;
        
        // 匹配需求:长度>=2且最后两个字符都是x时,移除最后两位
        if(stringLength >= 2 
            && readInput.charAt(stringLength - 2) == 'x' 
            && readInput.charAt(stringLength - 1) == 'x') {
            result = readInput.substring(0, stringLength - 2);
        }
        
        return result;
    }
    public static void main(String[] args) {
        System.out.println(problem1_removeChars());
    }
}

调整说明

  • 统一使用用户输入的readInput作为处理数据源,删除无用的方法入参str
  • 调整判断规则,同时校验最后两位是否都为'x',符合需求的移除条件
  • 修复返回值为处理后的结果变量
  • 新增Scanner关闭逻辑和包导入语句,避免编译错误和资源泄漏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:57:03