まず、LocalDateTimeを入力するためには、ユーザーからの入力を受け付ける必要があります。一般的な方法は、Scannerクラスを使用することです。以下に、Scannerを使用してユーザーから年、月、日、時、分、秒の値を入力する例を示します。
import java.time.LocalDateTime;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("年を入力してください: ");
int year = scanner.nextInt();
System.out.println("月を入力してください: ");
int month = scanner.nextInt();
System.out.println("日を入力してください: ");
int day = scanner.nextInt();
System.out.println("時を入力してください: ");
int hour = scanner.nextInt();
System.out.println("分を入力してください: ");
int minute = scanner.nextInt();
System.out.println("秒を入力してください: ");
int second = scanner.nextInt();
LocalDateTime dateTime = LocalDateTime.of(year, month, day, hour, minute, second);
System.out.println("入力された日時: " + dateTime);
}
}
上記のコードでは、Scannerを使用してユーザーから年、月、日、時、分、秒の値を順番に入力しています。それぞれの値は、int型の変数に格納され、LocalDateTimeのofメソッドを使用してLocalDateTimeオブジェクトを作成しています。最後に、入力された日時を出力しています。
このようにして、ユーザーからの入力を受け付け、LocalDateTimeオブジェクトを作成することができます。このオブジェクトを使用して、さまざまな操作や計算を行うことができます。
例えば、LocalDateTimeオブジェクトから年、月、日、時、分、秒の値を個別に取得するには、以下のようにします。
int year = dateTime.getYear();
int month = dateTime.getMonthValue();
int day = dateTime.getDayOfMonth();
int hour = dateTime.getHour();
int minute = dateTime.getMinute();
int second = dateTime.getSecond();
また、LocalDateTimeオブジェクトをフォーマットして表示する方法もあります。以下に、yyyy-MM-dd HH:mm:ssの形式で日時を表示する例を示します。
import java.time.format.DateTimeFormatter;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateTime.format(formatter);
System.out.println("フォーマットされた日時: " + formattedDateTime);
上記のコードでは、DateTimeFormatterクラスを使用してフォーマットを定義し、formatメソッドを使用してLocalDateTimeオブジェクトを指定した形式の文字列に変換しています。
以上が、JavaでLocalDateTimeを入力して処理するためのシンプルで簡単な方法とコード例です。これを参考にして、自分のプログラムに適用してみてください。