>凡事网 导航

在java中,从页面传过来一个月份(比如5月),如何获取5月1号和4月1号? java中如何根据某一周(比如22周)获取这一周是几月几号,...

2024-07-04m.fan-pin.com
如何用Java程序编程,最好讲解一下。题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对~

这道题目考察的是运用递归(数列)的思路去解决问题。
假设到第24个月,示例代码如下:
public class woo {
public static void main(String args[]) {
System.out.println(fib(24));
}
private static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}
}

扩展资料:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。
在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
参考资料:
百度百科:斐波那契数列
百度百科:递归函数

我的程序是输入某年某周,输出这一周的开始日期和结束时期,不知是否符合你的需要。至少Java是不直接提供这种方法的。

import java.util.*;

public class Test31 {
public static void main(String[] args) {
int year, year1, year2, month1, month2, day1, day2, week, sum = 0;
int[] days = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int i;
Scanner scan = new Scanner(System.in);

System.out.print("年:");
year = scan.nextInt();
System.out.print("周次:");
week = scan.nextInt();

if (year < 0) {
System.out.println("年份错误,必须大于等于0");
return;
}
if (week 54) {
System.out.println("周次错误,必须位于 1 .. 53 之间");
return;
}

sum += 7 * (week - 1);
//修正总天数
Calendar c = Calendar.getInstance();
c.set(year, 0, 1);
switch (c.get(Calendar.DAY_OF_WEEK))
{
case Calendar.TUESDAY:
{
sum -= 1;
break;
}
case Calendar.WEDNESDAY:
{
sum -= 2;
break;
}
case Calendar.THURSDAY:
{
sum -= 3;
break;
}
case Calendar.FRIDAY:
{
sum -= 4;
break;
}
case Calendar.SATURDAY:
{
sum -= 5;
break;
}
case Calendar.SUNDAY:
{
sum -= 6;
break;
}
default:
break;
}

if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
days[1] = 29;
}

for (i = 0; i < days.length; i++) {
if (sum >= days[i]) {
sum -= days[i];
}
else {
break;
}
}
year1 = year;
month1= i + 1;
day1 = sum + 1;


//修改开始日期
if (day1 < 1) {
day1 += days[11];
month1 = 12;
year1--;
}

year2 = year1;
month2 = month1;
day2 = day1 + 6;
if (day2 > days[month1 - 1]) {
day2 -= days[month1 - 1];
month2++;
if (month2 > 12) {
month2 = 1;
year2++;
}
}
System.out.printf("%d年第%d周 : %d年%d月%d日 ~ %d年%d月%d日", year, week, year1, month1, day1, year2, month2, day2);
}
}

输出测试:
年:2011
周次:22
2011年第22周 : 2011年5月23日 ~ 2011年5月29日

年:2011
周次:1
2011年第1周 : 2010年12月27日 ~ 2011年1月2日

这是从星期一至星期日。

也可以这样:
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print("年:");
int year = scan.nextInt();
System.out.print("周:");
int week = scan.nextInt();
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, 1);
c.set(Calendar.WEEK_OF_YEAR, week);


//该周第一天(星期日)所在的日期
int y1 = c.get(Calendar.YEAR);
int m1 = c.get(Calendar.MONTH) + 1;
int d1 = c.get(Calendar.DATE);

c.add(Calendar.DATE, 6);

//该周最后一天(星期六)所在的日期
int y2 = c.get(Calendar.YEAR);
int m2 = c.get(Calendar.MONTH) + 1;
int d2 = c.get(Calendar.DATE);

System.out.printf("%d年第%d周:%d-%d-%d ~ %d-%d-%d", year, week, y1, m1, d1, y2, m2, d2);
}

这是从星期日开始,如:
年:2011
周:22
2011年第22周:2011-5-22 ~ 2011-5-28

用日期操作类Calendar就可以的。
5月1号获取第一天
Calendar cal = new GregorianCalendar();
cal.set(Calendar.DATE, day);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.DAY_OF_MONTH, 1);

获取4月1号:
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.YEAR, year);
cal.set(Calendar.DAY_OF_MONTH, 1);

java可以像.net一样跨页面传值吗?
a页面通过url传值到b页面:b页面 或是通过form: 姓名: 密码: 性别: b.jsp页面的处理:< String name=request.getParameter("name");String pass=request.getParameter("pass");String gender=request.getParameter("gender");\/\/使用name,pass,gender变量进行相关的处理即可 > ...

JAVA新手求助。
你定义一个全局变量 点击按键时修改变量值 然后根据变量再修改内容就好了……

JavaWeb开发 网页传递参数给后台程序
告诉你大致的思路,你照这个思路做肯定没有问题。这样的提交其实是在后台控制器中有一个session,最终在数据库中搜索的条件都是在session中取出的;也就是说你点一个条件的时候,传到后台控制器,控制器会检索当前有没有session,如果有,就拿到已有的session,在session中加上你刚才点击的条件,然后用...

如何将html前台的数据传递给后台的java
你说的什么意思,是要把html页面上填入的表单信息传入到数据库还是把html页面整个代码传到数据库呢

javaweb中页面间的传值问题。求助!
1、代码中的交互时间,定义统一的时间格式。格式:字符串201812041705或者long型。client端传给后台后再根据你想要的格式format一下,后台传给前端定义统一的标准,那么就不会出现因为格式不对或者语言不对应出现解析的错误。2、数据库用timestamp

java extjs怎么实现页面值的传递和接受
extjs传参和用什么语言做后台处理没关系,用以下方法传值过去,然后用相应语言接收参数的方法正常接收就行了,1.ajax方法传值:Ext.Ajax.request({ url:'DoAction.jsp?method=add',params:{UserName:'张三',Gender:'男'},\/\/参数列表 callback:function(options,success,response){\/\/回调函数 if(...

在java web开发中 ,${ }是什么意思?好像是用来显示一个变量或者表达式...
这是EL表达式,表示你从另外一个页面传过来的参数的值,比如你从另外一个页面传了一个name为name,value为value的参数,在本页面写${name }就会显示value,不过这是要在j2ee 5.0的环境下才有,因为j2ee5.0自带el和jstl标签库,而其他则要导入jar包了。

JAVA web 中 页面传值传不过来 求解 急!!
就这么问,谁都帮不了你。java web 传值有多种方式和环节,你用的又是什么方式。一般来说,你先去看看传值的变量对接的是不是一至,再跟踪值的传递过程

...页面获取java在后台产生的变量值,以及从页面传输居到java程序(程序...
比如在后台设置一个值在request里面,request.setAttribute("param",param);在jsp页面就可以这样获取,${param}; el表达式。在页面传值到后台中,第一种post方式,提交表单时。 点击提交按钮后在后台获取Username,和password String username =request.getParamter("username");String password=reque...

java中如何在前台jsp页面封装一个map并传到后台啊
如果你是在jsp页面嵌入java代码,那就更后台代码一样,用request.setAttribute等方法就可以了。如果不想在页面嵌入java代码,用js这些是直接办不到的。但是可以用json把参数通过键值对的方式传到后台,实际跟map的思想都是一样的。你可以查一下json的使用方法。

相关链接2

返回顶部
凡事房车自主流
凡事网