我已经设置了一个任务,在String变量中打印出名字的第2,第3和第4个字母。
所以例如名字是约翰,我想打印出'o,h和n'字母'
我想知道是否有一种特定的方法可以用来执行这项任务,如果不是最好的方法是什么?
答案 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)));
}
}