标题: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429664-1-1.html




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

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