Java中打印字符串前K个字符的不同方法
在Java中,字符串是一个类,它存储一系列用双引号括起来的一串字符。这些字符实际上是String类型的对象。“java.lang”包中提供了字符串类。假设我们给定一个字符串和一个正整数'k'。现在,任务是在Java中打印该字符串的前'k'个字符。还要检查给定字符串的长度是否小于k,如果是,则打印原始字符串。
打印字符串前K个字符的Java程序
让我们通过一些例子来理解这个问题:
示例
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,因此我们打印了整个字符串本身。
方法一
创建一个用户自定义方法,以及两个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
方法二
声明并初始化一个字符串和一个正整数'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个字符。
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP