ในบทความนี้ เราจะเรียนรู้วิธีการกลับลำดับสตริง (reverse a string) ใน Java สตริงเป็นชนิดข้อมูลที่ประกอบด้วยอักขระหนึ่งตัวขึ้นไป และถูกล้อมรอบด้วยเครื่องหมายคำพูดคู่ (" ") การกลับลำดับสตริงคือการนำสตริงมาแสดงจากท้ายไปหัว (จากขวาไปซ้าย)
ตัวอย่างการทำงาน
สมมติข้อมูลนำเข้า (Input) คือ:
The string is defined as: Java Program
ผลลัพธ์ที่ต้องการ (Output) คือ:
The reversed string is: margorP avaJ
อัลกอริทึม
ขั้นตอนที่ 1 - เริ่มต้น ขั้นตอนที่ 2 - ประกาศตัวแปรสตริง 2 ตัว คือ input_string และ reverse_string และตัวแปร char ชื่อ temp ขั้นตอนที่ 3 - กำหนดค่าให้กับตัวแปรต่างๆ ขั้นตอนที่ 4 - วนลูป for-loop นำอักขระตัวที่ i ไปเก็บใน temp แล้วนำ temp + reverse_string ไปเก็บใน reverse_string (คือการนำอักขระแรกไปไว้ท้ายสุด) ขั้นตอนที่ 5 - แสดงผลลัพธ์ ขั้นตอนที่ 6 - จบการทำงาน
ตัวอย่างที่ 1: เขียนโค้ดทั้งหมดในฟังก์ชัน main
public class ReverseString {
public static void main (String[] args) {
String input_string= "Java Program", reverse_string="";
char temp;
System.out.println("The string is defined as: " + input_string);
for (int i=0; i<input_string.length(); i++) {
temp= input_string.charAt(i);
reverse_string= temp+reverse_string;
}
System.out.println("\nThe reversed string is: "+ reverse_string);
}
}
ผลลัพธ์
The string is defined as: Java Program The reversed string is: margorP avaJ
ตัวอย่างที่ 2: ใช้ฟังก์ชันแยก (Object-Oriented Style)
public class ReverseString {
static void reverse(String input_string){
String reverse_string = "";
char temp;
for (int i=0; i<input_string.length(); i++) {
temp= input_string.charAt(i);
reverse_string= temp+reverse_string;
}
System.out.println("\nThe reversed string is: "+ reverse_string);
}
public static void main (String[] args) {
String input_string= "Java Program";
System.out.println("The string is defined as: " + input_string);
reverse(input_string);
}
}
ผลลัพธ์
The string is defined as: Java Program The reversed string is: margorP avaJ