java控制台接受汉字_我这个Java程序中的汉字要如何能够在控制台上正常显示,而不是"?"?--& - J2EE论坛 - JAVA论坛 - 编程论坛...

这篇博客探讨了在Java程序中控制台输出汉字时遇到的问题,即汉字显示为'?'。文章通过一个示例代码展示了如何使用ISO8859-1编码转换为汉字,并寻求解决控制台正确显示汉字的方法。
摘要由CSDN通过智能技术生成

我这个Java程序中的汉字要如何能够在控制台上正常显示,而不是"?"?-->水影月圆转

程序如下:

import java.text.DateFormat;

import java.util.*;

public class JspCalendar {

Calendar calendar = null;

public JspCalendar() {

calendar = Calendar.getInstance();

Date trialTime = new Date();

calendar.setTime(trialTime);

}

public int getYear() {

return calendar.get(Calendar.YEAR);

}

public String getMonth() {

int m = getMonthInt();

String[] months = new String [] { "1", "2", "3",

"4", "5", "6",

"7", "8", "9",

"10", "11", "12" };

if (m > 12)

return "Unknown to Man";

return months[m - 1];

}

public String getDay() {

int x = getDayOfWeek();

String[] days = new String[] {"日","一", "二", "三",

"四", "五", "六"};

if (x > 7)

return getStr("Unknown to Man");

return getStr(days[x - 1]);

}

public int getMonthInt() {

return 1 + calendar.get(Calendar.MONTH);

}

public String getDate() {

return getMonthInt() + "/" + getDayOfMonth() + "/" + getYear();

}

public String getTime() {

return getHour() + ":" + getMinute() + ":" + getSecond();

}

public int getDayOfMonth() {

return calendar.get(Calendar.DAY_OF_MONTH);

}

public int getDayOfYear() {

return calendar.get(Calendar.DAY_OF_YEAR);

}

public int getWeekOfYear() {

return calendar.get(Calendar.WEEK_OF_YEAR);

}

public int getWeekOfMonth() {

return calendar.get(Calendar.WEEK_OF_MONTH);

}

public int getDayOfWeek() {

return calendar.get(Calendar.DAY_OF_WEEK);

}

public int getHour() {

return calendar.get(Calendar.HOUR_OF_DAY);

}

public int getMinute() {

return calendar.get(Calendar.MINUTE);

}

public int getSecond() {

return calendar.get(Calendar.SECOND);

}

public static void main(String args[]) {

JspCalendar db = new JspCalendar();

p("date: " + db.getDayOfMonth());

p("year: " + db.getYear());

p("month: " + db.getMonth());

p("time: " + db.getTime());

p("date: " + db.getDate());

p("Day: " + db.getDay());

p("DayOfYear: " + db.getDayOfYear());

p("WeekOfYear: " + db.getWeekOfYear());

p("era: " + db.getEra());

p("ampm: " + db.getAMPM());

p("DST: " + db.getDSTOffset());

p("ZONE Offset: " + db.getZoneOffset());

p("TIMEZONE: " + db.getUSTimeZone());

}

private static void p(String x) {

System.out.println(x);

}

public int getEra() {

return calendar.get(Calendar.ERA);

}

public String getUSTimeZone() {

String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",

"Mountain", "Central", "Eastern"};

return zones[10 - getZoneOffset()];

}

public int getZoneOffset() {

return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);

}

public int getDSTOffset() {

return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);

}

public int getAMPM() {

return calendar.get(Calendar.AM_PM);

}

public String getStr(String str)

{

try

{

String temp_p=str;

byte[] temp_t=temp_p.getBytes("ISO8859-1");

String temp=new String(temp_t);

return temp;

}

catch(Exception e)

{

}

return "null";

}

}

输出结果:

date: 2

year: 2006

month: 7

time: 14:3:57

date: 7/2/2006

Day: ?// 这里是?,而不是“日”,要怎么做才对呢?

DayOfYear: 183

WeekOfYear: 27

era: 1

ampm: 1

DST: 0

ZONE Offset: 8

TIMEZONE: Pacific

望大侠们赐教,不胜感激!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值