计算星期几的方法?

linglingtong 2012-08-11 02:53:24
知道今天是星期几,得出多少天后是星期几的方法。
初学java,大家帮我看下我写的这个方法是否有误,有哪些地方需要改进的,还需要考虑的哪些问题。
import javax.swing.JOptionPane;
public class DispalyWeek{
public static void main(String[] args){
String notice = "计算星期";
String message = "请输入当天是星期几,如:周一就输入1";
String message2 = "请输入天数,如:100";
String whatDayString = JOptionPane.showInputDialog(null, message, notice, JOptionPane.QUESTION_MESSAGE);
int whatDay = Integer.parseInt(whatDayString);
whatDay = whatDay <= 7 ? (whatDay > 0 ? whatDay : 7) : 7;
String numberOfDayString = JOptionPane.showInputDialog(null, message2, notice, JOptionPane.QUESTION_MESSAGE);
int numberOfDay = Integer.parseInt(numberOfDayString);
int newWhatDay;
if(numberOfDay <= 0){
newWhatDay = whatDay;
}else{
int temp = (whatDay + numberOfDay % 7) % 7;
newWhatDay = temp == 0 ? 7 : temp;
}
String output = "今天是星期" + whatDay +"', " + numberOfDay + "后是星期" + newWhatDay;
JOptionPane.showMessageDialog(null, output);
}
}
...全文
218 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
linglingtong 2012-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

另外给你一简单算法
这里的index就是你输入的值,只是我这里写死了,你可以变化,你也是没有加判断的,不过比你写的算法简单多了
String date = " 一二三四五六日";
int index = 7;
index = index % 7 + 2;
System.out.println(date.charAt(index));
[/Quote]
你很热心,感谢!
date.charAt这个方法我暂时还没学到这来,先记下了。
我也感觉我那样算起来是麻烦了。呵呵。
linglingtong 2012-08-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

引用 1 楼 的回复:

没什么问题啊,正常运行啊!
就是给类名换成DisplayWeek更好一点。

谢谢你的回复!类名单词写错了,呵呵。
我的意思是这个方法哪些地方还需要改进。

如果是一个真正的软件,你肯定不合理的,因为你不能去限制用户的输入,比如你的请输入当天是星期几,如:周一就输入1用户完全可以不按照你的规则去,所以果断报错,这个是需要……
[/Quote]
谢谢的意见!用户输入判断是不可少的,就跟WEB开发必须验证表单一样。
第一个问题应该类似这种错误:String a = "abc";int b = Integer.parseInt(a);
第二个问题,是因为我用int来转换用户输入的值,范围有限。是这样的吧?
这些判断、限制用户输入我会加上的。
宏Lee 2012-08-11
  • 打赏
  • 举报
回复
另外给你一简单算法
这里的index就是你输入的值,只是我这里写死了,你可以变化,你也是没有加判断的,不过比你写的算法简单多了
String date = " 一二三四五六日";
int index = 7;
index = index % 7 + 2;
System.out.println(date.charAt(index));
宏Lee 2012-08-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

没什么问题啊,正常运行啊!
就是给类名换成DisplayWeek更好一点。

谢谢你的回复!类名单词写错了,呵呵。
我的意思是这个方法哪些地方还需要改进。
[/Quote]
如果是一个真正的软件,你肯定不合理的,因为你不能去限制用户的输入,比如你的请输入当天是星期几,如:周一就输入1用户完全可以不按照你的规则去,所以果断报错,这个是需要改进的,有几处地方都是这样
第二个不好的地方,输入天数的问题,你去试试输入10000000000000000,看看是什么结果,这个我是按照你的要求来输入的,果断溢出了,所以也不是很好的
linglingtong 2012-08-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

没什么问题啊,正常运行啊!
就是给类名换成DisplayWeek更好一点。
[/Quote]
谢谢你的回复!类名单词写错了,呵呵。
我的意思是这个方法哪些地方还需要改进。
nmyangym 2012-08-11
  • 打赏
  • 举报
回复
没什么问题啊,正常运行啊!
就是给类名换成DisplayWeek更好一点。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧