| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:java中的小问题
取消只看楼主 加入收藏
听阳光洒下
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2013-11-10
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:1 
java中的小问题
新手上路,求大神指点
想请问一下怎么把输出的星期几弄成英文格式的,还有怎么把如果是逢周六周日就输出(“^_^”),而不是输出数字呢?

import java.text.DateFormatSymbols;
import java.util.*;
/*
 * @author Letitia
 * 2014-04-02
 * function print current calendar
 */
public class CalendarTest
{
   
 
private static final int Saturday = 0;
private static final int Sunday = 0;

public static void main(String[] args)
    {
        //construct d as current date
        GregorianCalendar d = new GregorianCalendar();
        
        int today = d.get(Calendar.DAY_OF_MONTH);
        int month = d.get(Calendar.MONTH);
        
        //set d to start date of the month
        d.set(Calendar.DAY_OF_MONTH,1);
        int weekday = d.get(Calendar.DAY_OF_WEEK);
        
        //get first day of week(Sunday in the U.S)
        int firstDayOfWeek = d.getFirstDayOfWeek();
        
        //determine the required indentation for the first line
        int indent = 0;
        while(weekday != firstDayOfWeek)
        {
            indent++;
            d.add(Calendar.DAY_OF_MONTH, -1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }
        
        //print weekday names
        String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
        do
        {
            System.out.printf("%4s", weekdayNames[weekday]);
            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }
        
        while(weekday != firstDayOfWeek);
        System.out.println();
        for(int i = 1; i <= indent; i++)
            System.out.print("    ");
        d.set(Calendar.DAY_OF_MONTH, 1);
        do
        {
            //print day
            int day = d.get(Calendar.DAY_OF_MONTH);
            System.out.printf("%3d", day);
            
            //mark current day with *
            if (day ==today)
                System.out.print("*");
            else System.out.print(" ");
            
            // advance d to the next day
            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
            
            // start a new line at the start of the week
            if(weekday == firstDayOfWeek)
                System.out.println();
            }
        while(d.get(Calendar.MONTH) == month);
        //the loop exist when d is day 1 of the next month
        
        //print final end of line if necessary
        if(weekday != firstDayOfWeek)
            System.out.println();
            
    }
}
输出结果是:
星期日 星期一 星期二 星期三 星期四 星期五 星期六
                 1     2      3*     4      5
  6      7       8     9      10     11    12
  13     14     15     16     17     18    19
  20     21     22     23     24     25    26
  27     28     29     30
搜索更多相关主题的帖子: current private 新手上路 calendar function 
2014-04-03 23:21
听阳光洒下
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2013-11-10
收藏
得分:0 
回复 3楼 韶志
这个是书里的一个例子其实,只是那个 String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();里面的DateFormatSymbols()得到的是本地的表示法,然后我想知道怎么样它才是英文的表示法
2014-04-13 21:09
快速回复:java中的小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027051 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved