Skip to Content
CoursesCSC102โปรแกรมสกัดข้อความจากสตริง

โปรแกรมสกัดข้อความจากสตริงภาษา Java

โจทย์

ให้เขียนโปรแกรมที่รับข้อความ (string) จากผู้ใช้ แล้วตรวจสอบความยาวของข้อความตามเงื่อนไขต่อไปนี้:

  • ถ้าความยาวของข้อความหารด้วย 2 และ 3 ลงตัว - ให้สกัด 6 ตัวอักษรแรกและ 6 ตัวอักษรสุดท้าย
  • ถ้าความยาวของข้อความหารด้วย 2 ลงตัว - ให้สกัด 2 ตัวอักษรแรกและ 2 ตัวอักษรสุดท้าย
  • ถ้าความยาวของข้อความหารด้วย 3 ลงตัว - ให้สกัด 3 ตัวอักษรแรกและ 3 ตัวอักษรสุดท้าย

จากนั้นให้แสดงผลข้อความที่สกัดได้

โค้ด

Main.java
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String text = scanner.nextLine(); int textLength = text.length(); String firstPart = ""; String lastPart = ""; if (textLength % 6 == 0) { firstPart = text.substring(0, 6); lastPart = text.substring(textLength - 6, textLength); } else if (textLength % 3 == 0) { firstPart = text.substring(0, 3); lastPart = text.substring(textLength - 3, textLength); } else if (textLength % 2 == 0) { firstPart = text.substring(0, 2); lastPart = text.substring(textLength - 2, textLength); } String finalWord = firstPart + lastPart; System.out.println("Extracted Text: " + finalWord); } }

คำอธิบาย

ขั้นตอนที่ 1: นำเข้าคลาสที่จำเป็น

import java.util.Scanner;

ในบรรทัดนี้ เรานำเข้าคลาส Scanner จากแพ็คเกจ java.util ซึ่งจะช่วยให้เราสามารถรับข้อมูลจากผู้ใช้ได้

ขั้นตอนที่ 2: สร้างคลาสหลักและเมธอด main

public class Main { public static void main(String[] args) { // โค้ดหลักจะอยู่ที่นี่ } }

นี่คือโครงสร้างพื้นฐานของโปรแกรม Java โดยมีคลาสชื่อ Main และเมธอด main ซึ่งเป็นจุดเริ่มต้นของโปรแกรม

ขั้นตอนที่ 3: รับข้อความจากผู้ใช้

Scanner scanner = new Scanner(System.in); String text = scanner.nextLine();

ในขั้นตอนนี้ โปรแกรมจะรอให้ผู้ใช้พิมพ์ข้อความเข้ามา เมื่อผู้ใช้กด Enter โปรแกรมจะเก็บข้อความนั้นไว้ในตัวแปรชื่อ text

ขั้นตอนที่ 4: นับความยาวของข้อความ

int textLength = text.length();

โปรแกรมจะนับว่าข้อความที่ผู้ใช้พิมพ์เข้ามามีความยาวกี่ตัวอักษร แล้วเก็บไว้ในตัวแปรชื่อ textLength

ขั้นตอนที่ 5: ตรวจสอบเงื่อนไขและสกัดข้อความ

String firstPart = ""; String lastPart = ""; if (textLength % 6 == 0) { firstPart = text.substring(0, 6); lastPart = text.substring(textLength - 6, textLength); } else if (textLength % 3 == 0) { firstPart = text.substring(0, 3); lastPart = text.substring(textLength - 3, textLength); } else if (textLength % 2 == 0) { firstPart = text.substring(0, 2); lastPart = text.substring(textLength - 2, textLength); }

ในขั้นตอนนี้ โปรแกรมจะตรวจสอบความยาวของข้อความตามเงื่อนไขต่อไปนี้:

  1. ถ้าความยาวของข้อความหารด้วย 6 ลงตัว (ไม่มีเศษ):
  • สกัด 6 ตัวอักษรแรกเก็บไว้ใน firstPart
  • สกัด 6 ตัวอักษรสุดท้ายเก็บไว้ใน lastPart
  1. ถ้าความยาวของข้อความหารด้วย 3 ลงตัว (ไม่มีเศษ):
  • สกัด 3 ตัวอักษรแรกเก็บไว้ใน firstPart
  • สกัด 3 ตัวอักษรสุดท้ายเก็บไว้ใน lastPart
  1. ถ้าความยาวของข้อความหารด้วย 2 ลงตัว (ไม่มีเศษ):
  • สกัด 2 ตัวอักษรแรกเก็บไว้ใน firstPart
  • สกัด 2 ตัวอักษรสุดท้ายเก็บไว้ใน lastPart

ขั้นตอนที่ 6: รวมข้อความที่สกัดได้

String finalWord = firstPart + lastPart;

โปรแกรมจะนำข้อความที่สกัดได้จากส่วนหน้าและส่วนหลังมาต่อกัน แล้วเก็บไว้ในตัวแปรชื่อ finalWord

ขั้นตอนที่ 7: แสดงผลลัพธ์

System.out.println("Extracted Text: " + finalWord);

สุดท้าย โปรแกรมจะแสดงข้อความที่สกัดได้ออกมาทางหน้าจอ

ตัวอย่างการทำงานของโปรแกรม

  1. กรณีที่ข้อความยาว 12 ตัวอักษร (หารด้วย 6 ลงตัว):
  • ข้อความที่ป้อน: “HelloWorldJava”
  • ผลลัพธ์: “HelloJava”
  1. กรณีที่ข้อความยาว 9 ตัวอักษร (หารด้วย 3 ลงตัว):
  • ข้อความที่ป้อน: “JavaCoder”
  • ผลลัพธ์: “Javder”
  1. กรณีที่ข้อความยาว 8 ตัวอักษร (หารด้วย 2 ลงตัว):
  • ข้อความที่ป้อน: “CodeTime”
  • ผลลัพธ์: “Come”
  1. กรณีที่ข้อความยาว 7 ตัวอักษร (ไม่ตรงกับเงื่อนไขใดเลย):
  • ข้อความที่ป้อน: “Program”
  • ผลลัพธ์: "" (ข้อความว่าง เพราะไม่มีการสกัดข้อความ)
ปรับปรุงล่าสุด