标题:java中的小问题
只看楼主
听阳光洒下
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2013-11-10
结帖率:90.91%
已结贴  问题点数:10 回复次数:5 
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
lll2001201
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2013-12-4
得分:5 
备注也是英文,头大。。。。。。。。。。。。。。。
2014-04-04 21:40
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:5 
确实有点凌乱

三十年河东,三十年河西,莫欺少年穷!
2014-04-09 23:48
听阳光洒下
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2013-11-10
得分:0 
回复 3楼 韶志
这个是书里的一个例子其实,只是那个 String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();里面的DateFormatSymbols()得到的是本地的表示法,然后我想知道怎么样它才是英文的表示法
2014-04-13 21:09
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
得分:0 
太乱了,把没用都去了

我本楚狂人,凤歌笑孔丘
2014-04-13 21:44
鸥翔鱼游
Rank: 5Rank: 5
等 级:职业侠客
帖 子:182
专家分:323
注 册:2014-4-19
得分:0 
观摩技术性回复
2014-04-24 14:59



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




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

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