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

Java新手求助:仅用String与System类从随机字符串提取特定字符

仅用String和System类提取特定字符的解决方案

嘿,作为Java新手能聚焦基础类来搞定这个需求,思路真的很扎实!咱们完全不用那些禁用的工具类,只靠String的核心方法和System的输出就能轻松实现。

核心思路

用String的length()拿到字符串总长度,再通过charAt(int index)逐个取出每个字符,配合循环遍历所有位置,判断字符是否符合你要提取的条件,符合的话要么直接输出,要么拼接到新的String里统一展示。

示例代码(提取所有小写字母'a')

public class ExtractTargetChar {
    public static void main(String[] args) {
        // 这里替换成你的随机生成字符串
        String randomString = "rAnDoMsTr1nGaAaXyz";
        // 定义你要提取的目标字符
        char target = 'a';

        // 方式一:逐个输出匹配到的字符
        System.out.println("提取到的字符(逐个输出):");
        for (int i = 0; i < randomString.length(); i++) {
            char current = randomString.charAt(i);
            if (current == target) {
                System.out.print(current + " ");
            }
        }
        System.out.println(); // 换行分隔

        // 方式二:拼接成新字符串后输出
        String result = "";
        for (int i = 0; i < randomString.length(); i++) {
            char current = randomString.charAt(i);
            if (current == target) {
                // 用String的concat方法拼接,也可以用 result += current;
                result = result.concat(String.valueOf(current));
            }
        }
        System.out.println("提取结果拼接后的字符串:" + result);
    }
}

代码细节说明

  • randomString.length():获取字符串的总长度,用来控制循环的边界,保证每个字符都能被遍历到。
  • randomString.charAt(i):通过索引i获取对应位置的字符(注意字符串索引从0开始哦)。
  • result.concat(...):String类自带的拼接方法,把符合条件的字符逐步拼接到结果字符串中,用+=操作符也能达到同样效果,写法更简洁。
  • System.out.print/println():完全依赖System类完成输出,符合你的限制要求。

扩展:提取一类字符(比如数字、字母)

如果需要提取的是某一类字符,不用额外工具类的话,直接通过字符的ASCII范围判断就行:

  • 提取所有数字:if (current >= '0' && current <= '9')
  • 提取所有大写字母:if (current >= 'A' && current <= 'Z')
  • 提取所有小写字母:if (current >= 'a' && current <= 'z')

这样就完全符合你“仅用String和System类”的要求啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:03:18