Devdit
 

วิธีแก้ไข array required but String found ภาษา Java

588

ต้องการวนลูปข้อมูลจากตัวแปรชนิด 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
แก้ไข 1 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ