当前位置:首页 > 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环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…

java如何入门

java如何入门

学习基础语法 从Java的基础语法开始,包括变量、数据类型、运算符、控制结构(if-else、for循环、while循环)等。可以通过官方文档或入门教程学习。 安装开发环境 下载并安装JDK(J…

教你如何完全卸载java

教你如何完全卸载java

卸载 Java 的步骤 Windows 系统 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到 Java 相关的条目,通常显示为“Java”或“Java(TM)”。右键点击选择卸载,按照…

java实现vue接口

java实现vue接口

Java 实现 Vue 接口的方法 在 Java 中实现 Vue 前端调用的接口,通常需要使用 Spring Boot 框架构建 RESTful API。以下是具体的实现步骤和代码示例。 创建 Sp…

java 实现 php ord

java 实现 php ord

Java 实现 PHP 的 ord 函数 PHP 的 ord 函数用于获取字符串中第一个字符的 ASCII 值。在 Java 中,可以通过类型转换或直接使用字符的 Unicode 值实现类似功能。…