Java 用不同的方式打印字符串的前K个字符
字符串是Java中的一个类,它存储在双引号中的一系列字符中。这些字符实际上是String类型的对象。字符串类位于”java.lang”包中。假设我们给定一个字符串和一个正整数k。现在,我们要在Java中打印该字符串的前k个字符。同时,如果给定字符串的长度小于k,则打印原始字符串。
Java程序打印字符串的前K个字符
让我们通过一些示例来理解给定的问题 –
示例
String st1 = “TutorialsPoint”;
String st2 = “Tutorial”;
假设我们拥有上述字符串,并给定 k 值为 9。那么,结果将是 −
The first K characters of st1: Tutorials
The first K characters of st2: Tutorial
字符串1的长度大于9,因此我们打印了前9个字符。但是,字符串2的长度小于9,因此我们打印了整个字符串本身
方法1
- 创建一个带有String和整数类型两个参数的用户定义方法。
-
将给定的字符串转换为字符数组并将其存储在’chs []’中。
-
我们知道在Java中字符串是不可变的,因此我们需要创建一个StringBuffer类的对象’new_st’来将字符串的字符存储到字符数组中。
-
使用if-else块检查字符串的长度。如果长度大于k,则将前k个字符追加到字符数组中,否则打印给定的数组。
-
现在,在main()方法中,声明并初始化字符串和一个正整数k。然后,使用字符串和k作为参数调用用户定义的方法。
示例
以下示例说明了如何使用用户定义的方法检索字符串的前K个字符。
import java.util.*;
public class Kstring {
public static void frstChar(String st, int k) {
char chs[] = st.toCharArray(); // converting into character array
StringBuffer new_st = new StringBuffer();
if(st.length() > k) { // checking the length of string
for(int i = 0; i < k; i++) {
new_st.append(chs[i]); // appending characters to new string
}
System.out.println("The first K characters are: " + new_st.toString()); // printing the new string
} else {
System.out.println("K is greater than given String: " + st);
}
}
public static void main(String args[]) {
String st1 = "TutorialsPoint";
String st2 = "Tutorial";
int k = 9;
System.out.println("The Original String: " + st1);
System.out.println("The Original String: " + st2);
// calling the method
frstChar(st1, k);
frstChar(st2, k);
}
}
输出
The Original String: TutorialsPoint
The Original String: Tutorial
The first K characters are: Tutorials
K is greater than given String: Tutorial
方法2
- 声明和初始化一个字符串和一个正整数’k’。
-
现在,使用if-else块检查字符串的长度是否大于k。如果大于k,则使用’substring()’方法打印相同数量的字符,否则打印整个字符串。
-
内置方法’substring()’接受两个整数类型的参数,并打印指定范围内的字符串字符。
示例
以下示例演示如何使用内置方法’substring()’检索字符串的前K个字符。
public class Kstring {
public static void main(String args[]) {
String st1 = "TutorialsPoint";
int k = 9;
System.out.println("The Original String: " + st1);
if (st1.length() > k) { // checking the length of string
System.out.println("The first K characters are: " + st1.substring(0, k));
} else {
System.out.println("The first K characters are: " + st1);
}
}
}
输出
The Original String: TutorialsPoint
The first K characters are: Tutorials
结论
我们从定义字符串并理解Java程序的问题说明开始了本文。然后,我们讨论了两个示例程序,一个使用用户定义的方法,另一个使用内置方法来打印给定字符串的前K个字符。