Java 用不同的方式打印字符串的前K个字符

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个字符。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程