ผมเขียนโค้ดดังนี้ครับ
บรรทัด 1 import java.util.Scanner;
บรรทัด 2 public class Exercise1 {
บรรทัด 3 public static void main(String[] args) {
บรรทัด 4 Scanner inkey = new Scanner(System.in);
บรรทัด 5
บรรทัด 6 System.out.println("Enter ID : ");
บรรทัด 7 int id = inkey.nextInt();
บรรทัด 8 System.out.println("Enter Name : ");
บรรทัด 9 String name = inkey.nextLine();
บรรทัด 10 System.out.println("Enter Sale : ");
บรรทัด 11 double sale = inkey.nextDouble();
บรรทัด 12
บรรทัด 13 System.out.println();
บรรทัด 14 System.out.println("ID : " +id);
บรรทัด 15 System.out.println("Name : " +name);
บรรทัด 16 System.out.println("Sale : " +sale);
บรรทัด 17 }
บรรทัด 18 }
จากโค้ดแกรมเราต้องป้อนค่าให้ตัวแปร id, name, และ sale ตามลำดับ แต่ผลการรันโปรแกรมที่ได้ คือ
Enter ID :
123
Enter Name :
Enter Sale :
18000
ID : 123
Name :
Sale : 18000.0
ในส่วนของการป้อนค่า จะเห็นว่าบรรทัด Enter Name ซึ่งเป็นขั้นตอนที่เราต้องป้อนค่าให้ตัวแปร name มันไม่รอให้เราป้อนค่า
มันข้ามไปให้เราป้อนค่า sale เลย
และในส่วนของการแสดงผลมันก็ไม่แสดงค่า ของตัวแปร name ด้วย
ดูเหมือนโปรแกรมจะไม่ทำคำสั่ง String name = inkey.nextLine();
ทำไมถึงเป็นอย่างนี้ครับขอความกรุณาผู้รู้ช่วยอธิบายให้หน่อย
และถ้าต้องการแก้ไขโค้ดให้ถูกต้องเพื่อให้เราสามารถป้อนทั้งชื่อและนามสกุล (ป้อนคำ 2 คำ) ให้ตัวแปร name ได้เราต้องแก้ไปตรงไหนครับ
ช่วยอธิบายหน่อยครับ ขอบคุณครับ
ช่วยอธิบายโค้ด JAVA นี้ให้หน่อยครับ
บรรทัด 1 import java.util.Scanner;
บรรทัด 2 public class Exercise1 {
บรรทัด 3 public static void main(String[] args) {
บรรทัด 4 Scanner inkey = new Scanner(System.in);
บรรทัด 5
บรรทัด 6 System.out.println("Enter ID : ");
บรรทัด 7 int id = inkey.nextInt();
บรรทัด 8 System.out.println("Enter Name : ");
บรรทัด 9 String name = inkey.nextLine();
บรรทัด 10 System.out.println("Enter Sale : ");
บรรทัด 11 double sale = inkey.nextDouble();
บรรทัด 12
บรรทัด 13 System.out.println();
บรรทัด 14 System.out.println("ID : " +id);
บรรทัด 15 System.out.println("Name : " +name);
บรรทัด 16 System.out.println("Sale : " +sale);
บรรทัด 17 }
บรรทัด 18 }
จากโค้ดแกรมเราต้องป้อนค่าให้ตัวแปร id, name, และ sale ตามลำดับ แต่ผลการรันโปรแกรมที่ได้ คือ
Enter ID :
123
Enter Name :
Enter Sale :
18000
ID : 123
Name :
Sale : 18000.0
ในส่วนของการป้อนค่า จะเห็นว่าบรรทัด Enter Name ซึ่งเป็นขั้นตอนที่เราต้องป้อนค่าให้ตัวแปร name มันไม่รอให้เราป้อนค่า
มันข้ามไปให้เราป้อนค่า sale เลย
และในส่วนของการแสดงผลมันก็ไม่แสดงค่า ของตัวแปร name ด้วย
ดูเหมือนโปรแกรมจะไม่ทำคำสั่ง String name = inkey.nextLine();
ทำไมถึงเป็นอย่างนี้ครับขอความกรุณาผู้รู้ช่วยอธิบายให้หน่อย
และถ้าต้องการแก้ไขโค้ดให้ถูกต้องเพื่อให้เราสามารถป้อนทั้งชื่อและนามสกุล (ป้อนคำ 2 คำ) ให้ตัวแปร name ได้เราต้องแก้ไปตรงไหนครับ
ช่วยอธิบายหน่อยครับ ขอบคุณครับ