java编写万年历,如何编写换行语句

问题描述

java编写万年历,如何编写换行语句

新手小白,才学到循环语句,就要求写一万年历,不知道如何写日历中的换行语句,求帮助

解决方案

........换行语句,第一次听说,这个应该不算是逻辑语句吧,是你要根据自己的需求来计算位置吧。比如假设每个单元宽度和高度是x和y,那么
第一行第一个位置是(0,0),那么第一行第十个就是(10x,0),然后第二行第一个就是(0,y)。这样不就换行显示了么?

for(int i ; i < row ; i++){
for(int j; j< column; j++){
show(i*x, j*y); // 日期显示位置
}
}


解决方案二:

你可以将日期初始化为Calendar对象,然后调用get方法即可获取你想要的第几个问题。下面是一个具体的例子,通过传入一个日期对象来实现日期对象当前月份的日期输出:

public static void main(String[] args) {
    printMonth(Calendar.getInstance());
}

public static final String[] CHINA = { "七", "一", "二", "三", "四", "五", "六" };

    /**
     * 输出给定日期所在月份的日历图
     */
    public static void printMonth(Calendar calendar) {
        int oldMonth = calendar.get(Calendar.MONTH);
        int curMonth = oldMonth;
        calendar.set(Calendar.DAY_OF_MONTH, 1); // 设置起始日期为1号
        // 输出第一行星期
        for (int i = 0; i < CHINA.length; i++) {
            System.out.print(CHINA[i] + "t");
        }
        System.out.println();

        boolean firstRowFlag = true;
        int col = 0;
        int week = calendar.get(Calendar.WEEK_OF_MONTH);
        while (curMonth == oldMonth) {
            // 这里通过WEEK_OF_MONTH来判断当前日期是该月份的第一周,如果周发生了变化,需要另起一行进行输出
            if (week != calendar.get(Calendar.WEEK_OF_MONTH)) {
                week = calendar.get(Calendar.WEEK_OF_MONTH);
                col = 0;
                System.out.println();
            } else {
                col = calendar.get(Calendar.DAY_OF_WEEK) - 1;
            }
            // 需要打印第一行的前面空白部分,只打印一次即可。firstRowFlag用于标记
            if (week == 1 && firstRowFlag) {
                for (int i = 0; i < col; i++) {
                    System.out.print("t");
                }
                firstRowFlag = false;
            }
            // 输出日期号
            System.out.print(calendar.get(Calendar.DAY_OF_MONTH) + "t");
            // 更新日期,每次加一天
            calendar.add(Calendar.DAY_OF_MONTH, 1);
            // 更新月份
            curMonth = calendar.get(Calendar.MONTH);
        }
    }

输出结果如下所示:

时间: 2024-09-19 17:20:33

java编写万年历,如何编写换行语句的相关文章

java类的问题-java 小程序编写 用eclipse编写

问题描述 java 小程序编写 用eclipse编写 学生成绩管理 功能要求: 1) 输入十个同学的学号,姓名,四科成绩(应用数学.大学英语.Java程序设计.计算机应用基础) 2) 计算出平均成绩.以平均成绩降序输出成绩表. 3) 输出全组各科平均分,最高分和最低分. 4) 输入姓名查询成绩 界面要示:用字符界面实现.也可用图形界面实现. 5)能连接数据库并实现查询.增.删.改等功能(此项功能作为可选项,可以不要).

Java运用SWT插件编写桌面记事本应用程序_java

本文实例介绍了Java基于SWT编写记事本的详细过程,分享给大家供大家参考,具体内容如下 可实现windows系统桌面记事本基本功能,傻瓜式教学,一步一步手把手操作.小白也可自己编写出完整的应用程序. 需要工具:Eclipse(带SWT插件) 成品如下: 应用程序功能介绍: 功能分析: 1.文件(F) 2.编辑(E) 3.格式(O) 4.查看(V) 5.帮助(H) 其中文件菜单中包括 1.1.新建(N) Ctrl+N 1.2打开(O) Ctrl+O 1.3保存(S) Ctrl+S 1.4另存为(

《Puppet实战手册》——2.8 编写功能强大的条件语句

2.8 编写功能强大的条件语句 Puppet的if语句允许用户基于变量或表达式的值来调整清单.有了它,用户可以根据相关节点的某些fact(如操作系统或内存大小)应用(生效)不同的资源或参数值. 此外,也可以通过在清单内设置变量来调整引入的类的行为.例如,在数据中心A的服务器可能需要使用与在数据中心B不同的DNS服务器,或者可能需要为Ubuntu系统使用一组类,而其他系统使用另一组不同的类. 操作步骤下面是一个非常有用的关于条件语句的例子. 在清单中添加下面的代码: if $::operating

Java 实现万年历总结_java

一,Java实现万年历的代码: package calendar; import java.util.Scanner;//日历项目 public class RiLi{ public static void main(String[] args){ Scanner A=new Scanner(System.in); System.out.println("请输入年份:"); int year=A.nextInt(); System.out.println("请输入月份:&qu

JAVA基础培训(6),For循环语句的使用

在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用.所以 我这里就把for循环重点介绍一下. 源代码 package lession6; /** * 老紫竹JAVA基础培训(6),For循环语句的使用.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession6 { /** * for循环有三部分用分号分割<br> * 第一部分是初始的数据<br> * 中

c语言-求助一个java语言的一个for循环语句

问题描述 求助一个java语言的一个for循环语句 for(int i=2,j=1; j<10; i=(i==9)?(((++j)/j)+1):(i+1)){ System.out.printf("%d*%d=%2d%c",i,j,i*j, ((i==9)?'n':' ')); } 输出结果是99乘法表. 这个for循环里的++j为什么不能换成j+1啊? 谢谢各位了. 解决方案 ++j是改变变量值的 j+1是不改变变量值的 解决方案二: ++j 等效于j=j+1 你用j+1 原j

asp.net-ASP.net代码中换行语句

问题描述 ASP.net代码中换行语句 如何在ASP.NET中实现换行现实内容,要求到达一定边界后自动 换行

java 函数问题不太理解语句的含义

问题描述 java 函数问题不太理解语句的含义 import java.applet.applet; import java.awt.*; public class example4_12 extends applet { Button redbutton; public void init() { redbutton = new Button("我是一个红色的按钮:"); redbutton.setBackground(color.red); add(redbutton); //这句

Java控制语句之if、switch语句_java

java if语句 Java控制语句分为三大类:①顺序结构:②选择结构:③循环结构. -------------------------------------------------------------------------------- 选择结构又分为:①单选择结构:②双选择结构:③多选择结构. 主要涉及: if_else , switch , while , break 和 continue , for. if单选择结构 对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳