如何在 Java 中打印出字符串中的特定字母

新手上路,请多包涵

我已经设置了一个任务来打印出 String 变量中名称的第二个、第三个和第四个字母。

例如,名字是 John,我想打印出字母“o、h 和 n only”

我想知道是否有一种特定的方法可以用来执行此任务,如果没有,最好的方法是什么?

原文由 ProgrammingBeginner 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 439
2 个回答

正如@KevinO 指出的那样进行 编辑,确定名称长度或 4 是否更小可以解决会导致异常的问题。我更新以合并此输入。

取决于您尝试打印的方式。您可以使用 for 循环并从 String name 的第一个索引开始迭代,如下所示:

 String name = "John";
for(int i = 1; i < Math.min(name.length(), 4); i++){
    System.out.print(name.charAt(i));
}

样品运行:

跑:

哦恩

构建成功(总时间:0 秒)

您可以一次打印出 Character 一个,例如:

 System.out.print(name.charAt(1)); //print character at index 1
System.out.print(name.charAt(2)); //print character at index 2
System.out.print(name.charAt(3)); //print character at index 3

这可能不安全,因为您不确定名称实际上是否至少为 4 Characters 长。样本运行:

跑:

哦恩

构建成功(总时间:0 秒)

或者也许是最简单也是安全的方法,您可以使用 String.substring() 将其打印出来,它需要一个范围,如下所示:

     System.out.println(name.substring(1, Math.min(name.length(), 4)));

这导致:

跑:

哦恩

构建成功(总时间:0 秒)

原文由 robotlos 发布,翻译遵循 CC BY-SA 3.0 许可协议

假设名称中始终至少有 4 个字母,此代码将起作用:

 public static void main(String[] args) {
    String name = "JOHN";
    System.out.println(name.substring(1,4));
}

原文由 Aaron 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题