day18.用户交互Scanner

本文介绍了Java中Scanner类用于用户交互的方法,包括Next、NextLine等,通过实例解析了它们的区别,如Next只读取到空格前的字符,而NextLine以回车为结束符。
摘要由CSDN通过智能技术生成

用户交互Scanner

今天呢,我们进入基础学习的第二阶段,我们刚学会了语法,但我们还不懂操作,学完这一阶段,我们差不多就可以自己做一些像计算器的小程序了

流程控制

我们这一章要学习流程控制,那我们看看流程控制需要学哪些东西

在这里插入图片描述

第一步,我们要学习用户交互的Scanner对象,之前我们学的基本语法只是在IDEA里面输出一下让我们看到,而Scanner就是跟电脑互动起来

Scanner对象

之前我们学的基本语法中我们并没有实现程序和人的交互,但是java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是java5的新特性,

我们可以通过Scanner类来获取用户端输入

基本语法

Scanner s = new Scanner(System.in)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较简单的 Java 程序,可以按照以下步骤进行实现: 1. 在程序引入 java.util.Scanner 类,用于接收用户输入。 2. 提供功能说明,让用户选择需要执行的功能。可以使用 System.out.println() 方法进行输出。 3. 如果用户选择了功能 1,让用户输入一个年份,然后根据该年份生成一个日历。可以使用 Calendar 类进行日期的处理,也可以自己编写处理日期的函数。 4. 如果用户选择了功能 2,让用户输入一个日期,然后输出该日期所对应的星期。可以使用 SimpleDateFormat 和 Calendar 类进行日期的处理。 下面是一份示例代码,可以供你参考: ```java import java.util.Calendar; import java.util.Scanner; import java.text.SimpleDateFormat; public class CalendarProgram { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("欢迎使用日历程序,请选择功能:"); System.out.println("1. 根据年份输出日历"); System.out.println("2. 根据日期输出星期"); int choice = scanner.nextInt(); if (choice == 1) { System.out.println("请输入年份:"); int year = scanner.nextInt(); printCalendar(year); } else if (choice == 2) { System.out.println("请输入日期(格式为 yyyy-MM-dd):"); String date = scanner.next(); printWeekday(date); } else { System.out.println("输入错误,请重新运行程序。"); } } // 根据年份输出日历 public static void printCalendar(int year) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 1); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); System.out.println(year + "年的日历:"); for (int i = 0; i < 12; i++) { System.out.println("\n" + sdf.format(calendar.getTime()) + " 星期" + (calendar.get(Calendar.DAY_OF_WEEK) - 1) + "\n"); System.out.println("日\t一\t二\t三\t四\t五\t六"); int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; for (int j = 0; j < firstDayOfWeek; j++) { System.out.print("\t"); } for (int j = 1; j <= days; j++) { System.out.print(j + "\t"); if ((j + firstDayOfWeek) % 7 == 0) { System.out.print("\n"); } } calendar.add(Calendar.MONTH, 1); } } // 根据日期输出星期 public static void printWeekday(String date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); try { calendar.setTime(sdf.parse(date)); int weekday = calendar.get(Calendar.DAY_OF_WEEK) - 1; String[] weekdays = {"日", "一", "二", "三", "四", "五", "六"}; System.out.println(date + " 是星期" + weekdays[weekday]); } catch (Exception e) { System.out.println("日期格式错误,请输入正确的日期(格式为 yyyy-MM-dd)。"); } } } ``` 希望这份代码可以帮助到你。如果你有任何疑问或者需要进一步的帮助,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值