- รับข้อความ จำนวนเต็ม และเลขทศนิยมจาก Console
- ใช้
nextLine,nextIntและnextDouble - เข้าใจ newline ที่ค้างหลังการรับตัวเลข
สร้างไฟล์ SensorInput.java:
import java.util.Scanner;
public class SensorInput {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// เพิ่มโค้ดแต่ละส่วนตรงนี้
scanner.close();
}
}ให้วาง Snippet ต่อไปนี้ก่อน scanner.close();
System.out.print("Machine ID: ");
String machineId = scanner.nextLine().trim();
System.out.println("Machine: " + machineId);Compile และ Run เพื่อทดสอบการรับข้อความก่อน:
javac -encoding UTF-8 SensorInput.java
java SensorInputSystem.out.print("Temperature: ");
double temperature = scanner.nextDouble();
System.out.print("Operating hours: ");
int hours = scanner.nextInt();System.out.printf("%s | %.1f C | %d hours%n", machineId, temperature, hours);ลองกรอก M-001, 67.5 และ 120 ตามลำดับ
หลัง nextInt() หรือ nextDouble() ยังมี newline ค้างอยู่ ถ้าจะรับข้อความต่อ ให้รับ newline ทิ้งก่อน:
scanner.nextLine();
System.out.print("Machine name: ");
String machineName = scanner.nextLine();รับชื่อเครื่องจักรและตำแหน่งเพิ่ม แล้วแสดงข้อมูลทุกค่าในหนึ่งบรรทัด