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

时间:2016-03-29 23:49:47

标签: java

我已经设置了一个任务,在String变量中打印出名字的第2,第3和第4个字母。

所以例如名字是约翰,我想打印出'o,h和n'字母'

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

3 个答案:

答案 0 :(得分: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秒)

答案 1 :(得分:1)

假设名称中至少包含4个字母,则此代码将起作用:

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

答案 2 :(得分:0)

您可以通过在String上使用charAt函数来实现。以下版本的代码应该按照您的要求执行。

public static void main(String[] args) {
    String input = "John";
    if (input != null && input.length() > 1) { 
               System.out.println(input.substring(1, Math.min(input.length(), 4)));     
    }
}