| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1166 人关注过本帖
标题:[求助]怎样编写这样的程序?
取消只看楼主 加入收藏
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
 问题点数:0 回复次数:3 
[求助]怎样编写这样的程序?
各位大虾:
偶是一个JAVA的初学者,最近看到这样的一个编程题目:
输出某年某月的日历页,通过main方法的参数将年份和月份时间传递到程序中.
请问各位应该怎样编写呀!望各们大虾们多多指教了!小北先谢过了!
搜索更多相关主题的帖子: 编写 
2006-04-20 17:28
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 

想了很久,终于写出来了,各位大虾点评一下!
import java.util.*;
import java.io.*;
class CalendarTest {

static int strToInt;
static String s="";
public static void getInfo()
{

try
{
BufferedReader cin=new BufferedReader (new InputStreamReader(System.in));
s=cin.readLine();
strToInt=Integer.parseInt(s);
}catch(Exception e){};
}
public static void main(String[] args)
{
int year;
int month;
Calendar calendarObj=Calendar.getInstance();
System.out.print("请输入你想查询日历的年份:");
getInfo();
year=strToInt;
System.out.println();
System.out.print("请输入你想查询日历的月份:");
getInfo();
month=strToInt;
calendarObj.set(year,month-1,1);
int weeks=calendarObj.get(Calendar.DAY_OF_WEEK)-1;
System.out.println();
System.out.println(year+"年"+month+"月的日历如下:");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println('日'+" "+'一'+" "+'二'+" "+'三'+" "+'四'+" "+'五'+" "+'六');
String[] count=new String[weeks+31];
for(int i=0;i<weeks;i++)
{
count[i]="**";
}
for(int i=weeks,n=1;i<weeks+31;i++)
{
if(n<=9)
count[i]=" "+String.valueOf(n);
else
count[i]=String.valueOf(n);
n++;
}
for(int i=0;i<weeks+31;i++)
{
if(i%7==0)
{

System.out.println();
System.out.print(count[i]+" ");
}
else
System.out.print(count[i]+" ");
}
System.out.println();
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~");
}
}


初学java,希望各位大虾多多指教!!
2006-04-21 22:38
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 
这个是用main方法的参数传递实现的:
import java.util.*;
class CalendarTest {
//通过main方法的参数传递到程序
public static void main(String[] args) {
Calendar calendarObj=Calendar.getInstance();
calendarObj.set(Integer.parseInt(args[0]),Integer.parseInt(args[1])-1,1);
int weeks=calendarObj.get(Calendar.DAY_OF_WEEK)-1;
System.out.println(args[0]+"年"+args[1]+"月的日历如下:");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println('日'+" "+'一'+" "+'二'+" "+'三'+" "+'四'+" "+'五'+" "+'六');
String[] count=new String[weeks+31];
for(int i=0;i<weeks;i++)
{
count[i]="**";
}
for(int i=weeks,n=1;i<weeks+31;i++)
{
if(n<=9)
count[i]=" "+String.valueOf(n);
else
count[i]=String.valueOf(n);
n++;
}
for(int i=0;i<weeks+31;i++)
{
if(i%7==0)
{

System.out.println();
System.out.print(count[i]+" ");
}
else
System.out.print(count[i]+" ");
}
System.out.println();
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~");
}
}

初学java,希望各位大虾多多指教!!
2006-04-21 22:41
xuyijin
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-4-13
收藏
得分:0 

运行的时候在CalendarTest后面加年份和月份就不会发生数组越界了!
如:java CalendarTest 2006 4
谢谢版主了!
我本来也想加一些异常的处理的,不过小弟刚初学JAVA,对于异常的处理还是一知半解的,所以干脆就不加进去了!现在得版主你的指点,小弟深感荣幸呀!谢谢各位了!


初学java,希望各位大虾多多指教!!
2006-04-22 10:45
快速回复:[求助]怎样编写这样的程序?
数据加载中...
 
   



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

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