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

Java实现单词最后两个字母大写及键盘输入输出功能求助

解决方案

一、核心逻辑修改(最后两个字母大写)

针对你现有的代码,我们调整单词处理逻辑,转而处理每个单词的最后两个字符:

  • 遍历字符串分割出每个单词,记录单词的起始索引k和结束索引i(以空格或字符串末尾为分界)
  • 计算单词长度:wordLength = i - k
  • 若单词长度≥2,将倒数第二个字符(i-2)和最后一个字符(i-1)转为大写;长度为1时保持原样

这里用Character.toUpperCase()替代手动ASCII码计算,代码更易读且健壮。

二、添加键盘输入功能

用java.util.Scanner类实现键盘输入:

  1. 导入Scanner类
  2. 在main方法中创建实例读取用户输入
  3. 将输入字符串传入处理方法后输出结果

三、完整代码实现

import java.util.Scanner;

class Main {
    static String lastTwoUpperCase(String str) {
        char[] ch = str.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            int k = i;
            // 定位当前单词的结束位置
            while (i < ch.length && ch[i] != ' ') {
                i++;
            }
            int wordLength = i - k;
            // 仅处理长度≥2的单词
            if (wordLength >= 2) {
                ch[i - 2] = Character.toUpperCase(ch[i - 2]);
                ch[i - 1] = Character.toUpperCase(ch[i - 1]);
            }
        }
        return new String(ch);
    }

    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入需要处理的字符串:");
        String inputStr = scanner.nextLine();
        
        String result = lastTwoUpperCase(inputStr);
        System.out.println("处理后的字符串:" + result);
        
        scanner.close();
    }
}

四、测试示例

  • 输入eat,输出eAT
  • 输入hello world,输出helLO worLD

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:41:24