【问题标题】:How to make the last letter of a word become capitalized如何使单词的最后一个字母变为大写
【发布时间】:2020-02-03 20:29:47
【问题描述】:

所以我是编码新手,我的老师要求我们编写一个代码来实现这一点。我需要使用子字符串来做到这一点。

这是我必须做的。

示例输出 1: 欢迎使用扭曲(编造的语言)翻译程序。

输入要翻译的单词:直升机 转折词:OpterhelicCR

示例输出 2: 欢迎使用扭曲(虚构语言)翻译程序。

输入要翻译的单词:你好 转折词:LohelLO

注意事项: 翻译后的单词是这样组成的: 直升机 = OpterhelicCR 后半部分的第一个大写字母:Opter 前半部分的第一个字母小写:helic 大写前半部分的最后一个字母:C 大写后半部分的最后一个字母:R

这是我的代码。 公共静态无效主要(字符串[]参数){ 扫描仪输入 = new Scanner(System.in);

    System.out.println("Welcome to the twistAround (made up language) translation program.\n");

    System.out.print("Enter word to translate: ");
    String word = input.nextLine();

    String secondHalf = word.substring(word.length() / 2, word.length());

    System.out.println(secondHalf);

输出: 欢迎使用twistAround(编造语言)翻译程序。

输入要翻译的单词:直升机 选择器 构建成功(总时间:4 秒)

到目前为止,我已经将它输出到 opter。但是,我不确定如何将“o”大写。

【问题讨论】:

  • 如果我的发帖方式有问题,请告诉我,以免我犯同样的错误。谢谢。
  • 看看 java documentation on strings 可以为你做什么,我敢打赌你会发现一些关于大写/小写的有用的东西。祝你好运。

标签: java


【解决方案1】:

1 - 一种使用 charAt 方法并获取第一个字符的方法。

2 - 更改字符的大小写并将其添加到字符串中。

    String secondHalf = "opter";
    char a = secondHalf.charAt(0);
    secondHalf = secondHalf.substring(1);
    secondHalf = Character.toString(a).toUpperCase()+secondHalf;
    System.out.println(secondHalf);

3 - 另一种使用子字符串方法然后删除第一个字符的方法。改变情况。然后将其添加到字符串中。

    String secondHalf = "opter";
    String a = secondHalf.substring(0, 1);
    secondHalf = secondHalf.substring(1);
    secondHalf = a.toUpperCase()+secondHalf;
    System.out.println(secondHalf);

【讨论】:

  • 技术上所有可能都是正确的,但它也可能会阻止 @lazy-papyrus 发现 java 文档:-/
【解决方案2】:

使用一个StringBuilder防止不必要的字符串生成

String secondHalf = "opter";
StringBuilder buf = new StringBuilder( secondHalf );
buf.setCharAt( 0, Character.toUpperCase( buf.charAt( 0 ) ) );
buf.toString();  // "Opter"

secondHalf 不能为空
否则会抛出java.lang.StringIndexOutOfBoundsException

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 2015-12-11
    • 2020-12-26
    • 2016-07-28
    • 1970-01-01
    • 2020-07-16
    相关资源
    最近更新 更多