ต้องการวนลูปข้อมูลจากตัวแปรชนิด String เพื่อแสดงผลทีละตัวอักษร โดยใช้ตัวแปรอ้างถึงลำดับ (index) ของ String แต่พอรันแล้วขึ้นข้อความว่า error: array required, but String found และโปรแกรมไม่ทำงาน อยากทราบวิธีแก้ไขปัญหานี้ ตัวอย่างโค้ดตามด้านล่าง
class Main {  
  public static void main(String args[]) { 
    String message = "Happy World";
    for( int i=0; i<message.length(); i++ ) {
      System.out.println( message[i] );
    }
  } 
}
วิธีแก้ไข
ปัญหานี้เกิดจากการเข้าถึงข้อมูลจากลำดับ หรือ index นั้นต้องใช้กับตัวแปรชนิด array ไม่สามารถใช้ได้กับตัวแปรชนิด string กรณีต้องการเข้าถึงตัวอักษรใน string แนะนำคำสั่ง charAt สามารถแก้ไขโปรแกรมได้ดังนี้
class Main {  
  public static void main(String args[]) { 
    String message = "Happy";
    for( int i=0; i<message.length(); i++ ) {
      System.out.println( message.charAt(i) );
    }
  } 
}ผลลัพธ์
H
a
p
p
y