当前位置:首页 > Java

java如何输入年月

2026-03-22 02:36:08Java

使用Scanner类从控制台输入年月

在Java中,可以通过Scanner类从控制台获取用户输入的年月数据。需要导入java.util.Scanner包。

import java.util.Scanner;

public class InputYearMonth {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入年份: ");
        int year = scanner.nextInt();

        System.out.print("请输入月份: ");
        int month = scanner.nextInt();

        System.out.println("您输入的是: " + year + "年" + month + "月");
    }
}

使用JOptionPane进行图形化输入

如果需要图形化界面输入,可以使用JOptionPane类,需要导入javax.swing.JOptionPane包。

import javax.swing.JOptionPane;

public class InputYearMonthGUI {
    public static void main(String[] args) {
        String yearInput = JOptionPane.showInputDialog("请输入年份:");
        int year = Integer.parseInt(yearInput);

        String monthInput = JOptionPane.showInputDialog("请输入月份:");
        int month = Integer.parseInt(monthInput);

        JOptionPane.showMessageDialog(null, "您输入的是: " + year + "年" + month + "月");
    }
}

使用正则表达式验证输入格式

对于需要特定格式的输入(如YYYY-MM),可以使用正则表达式进行验证。

import java.util.Scanner;
import java.util.regex.Pattern;

public class ValidateYearMonth {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入年月(格式: YYYY-MM): ");
        String input = scanner.nextLine();

        if (Pattern.matches("^\\d{4}-(0[1-9]|1[0-2])$", input)) {
            System.out.println("输入有效: " + input);
        } else {
            System.out.println("输入无效,请使用YYYY-MM格式");
        }
    }
}

使用LocalDate处理年月输入

Java 8及以上版本可以使用java.time.LocalDate来处理日期输入。

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Scanner;

public class LocalDateInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入年月(格式: yyyy-MM): ");
        String input = scanner.nextLine();

        try {
            LocalDate date = LocalDate.parse(input + "-01", DateTimeFormatter.ISO_DATE);
            System.out.println("年份: " + date.getYear());
            System.out.println("月份: " + date.getMonthValue());
        } catch (DateTimeParseException e) {
            System.out.println("日期格式错误");
        }
    }
}

使用YearMonth类专门处理年月

Java 8还提供了YearMonth类专门处理不包含日的年月数据。

java如何输入年月

import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Scanner;

public class YearMonthInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入年月(格式: yyyy-MM): ");
        String input = scanner.nextLine();

        try {
            YearMonth yearMonth = YearMonth.parse(input, DateTimeFormatter.ofPattern("yyyy-MM"));
            System.out.println("年份: " + yearMonth.getYear());
            System.out.println("月份: " + yearMonth.getMonthValue());
        } catch (DateTimeParseException e) {
            System.out.println("日期格式错误");
        }
    }
}

以上方法涵盖了从基础控制台输入到高级日期处理的多种方式,可以根据具体需求选择适合的方法。

标签: 年月java
分享给朋友:

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…