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個字元。