刚开始学JAVA,想请教一个关于JAVA小程序的问题。

问题描述

/*代码我写出来了,月份输入3到12都可以正常输出,但是月份输入1或2就显示不了,麻烦告知我问题出在哪儿,可能有些地方看不到。。。。附:基姆拉尔森计算公式W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)mod7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。*/importjava.util.*;publicclasstest{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);System.out.println("请输入年份:");//输入年数,如2014intyear=in.nextInt();//接收年的值System.out.println("请输入月份:");//输入月份,如3intmonth=in.nextInt();//接收月份的值if(month==1){//将接收到的月份“1”改变值为13,同时减年数减1year=year-1;month=13;}elseif(month==2){//将接收到的月份“2”改变值为14,同时减年数减1year=year-1;month=14;}else{System.out.print("日t一t二t三t四t五t六");//输入日历的星期数,是列的字段intdays;//定义相对月份的天数"days"if(year%4==0&&year%100!=0||year%400==0){//根据不同的月份赋予不同的“days”if(month==14){days=29;}elseif(month==13||month==3||month==5||month==7||month==8||month==10||month==12){days=31;}else{days=30;}}else{if(month==14){days=28;}elseif(month==13||month==3||month==5||month==7||month==8||month==10||month==12){days=31;}else{days=30;}}intw;//定义“w”为输入年数对应是星期几w=(1+2*month+3*(month+1)/5+year+year/4-year/100+year/400+1)%7;//使用基姆拉尔森计算公式if(w==7){//从这里开始,根据w的不同值进行输出,从而得出类似日历表的效果System.out.print("n");for(inti=1;i<=days;i++){if(i%7!=0){System.out.print(i+"t");continue;}elseif(i%7==0){System.out.print(i+"n");}}}elseif(w==1){System.out.print("n");System.out.print("t1t2t3t4t5t6n");for(inti=7;i<=days;i++){if((i+1)%7!=0){System.out.print(i+"t");continue;}elseif((i+1)%7==0){System.out.print(i+"n");}}}elseif(w==2){System.out.print("n");System.out.print("tt1t2t3t4t5n");for(inti=6;i<=days;i++){if((i+2)%7!=0){System.out.print(i+"t");continue;}elseif((i+2)%7==0){System.out.print(i+"n");}}}elseif(w==3){System.out.print("n");System.out.print("ttt1t2t3t4n");for(inti=5;i<=days;i++){if((i+3)%7!=0){System.out.print(i+"t");continue;}elseif((i+3)%7==0){System.out.print(i+"n");}}}elseif(w==4){System.out.print("n");System.out.print("tttt1t2t3n");for(inti=4;i<=days;i++){if((i+4)%7!=0){System.out.print(i+"t");continue;}elseif((i+4)%7==0){System.out.print(i+"n");}}}elseif(w==5){System.out.print("n");System.out.print("ttttt1t2n");for(inti=3;i<=days;i++){if((i+5)%7!=0){System.out.print(i+"t");continue;}elseif((i+5)%7==0){System.out.print(i+"n");}}}elseif(w==6){System.out.print("n");System.out.print("tttttt1n");for(inti=2;i<=days;i++){if((i+6)%7!=0){System.out.print(i+"t");continue;}elseif((i+6)%7==0){System.out.print(i+"n");}}}}}}

解决方案

解决方案二:
其实csdn的编辑域有一个专门编辑代码的功能。
解决方案三:
注意提问规范,还有,你想要问的问题是什么呢?
解决方案四:
不好意思复制过来以后格式有变化。问题我找到了,是输入1或2的话,因为选择结构的匹配的问题从而直接跳到末尾了。
解决方案五:
谢谢你们的帮忙!
解决方案六:
你这代码,不打开编译器,格式化一下,估计看都懒得看

时间: 2024-10-28 01:51:49

刚开始学JAVA,想请教一个关于JAVA小程序的问题。的相关文章

c++-小弟大一只学了C++现在在自学C#,想请教一个问题

问题描述 小弟大一只学了C++现在在自学C#,想请教一个问题 我现在在做一个简单的棋类游戏,因为赶时间,老师说用C#做界面会简单点,我现在只用C#画了一个界面,什么功能都没有,用C++做内核,请问我该怎么把这个界面和C++连接起来?小弟用的是VS2013,会不会需要其他软件呢?我还什么都不懂,希望大神帮我解答一下,万分感谢! 解决方案 你搜搜托管c++,可以全部用c++的代码写 C#封装UI界面得exe程序,用托管c++封装一个dll,然后托管c++ dll中写你的c++实现 解决方案二: 用C

java-我还想请教一下学习Java的方法及技巧

问题描述 我还想请教一下学习Java的方法及技巧 首先先对回答我的好心人表示感谢,另外我还想请教一下学习Java的方法及技巧,我的目的是掌握Java的语法,然后去学安卓开发 解决方案 看视频打代码,学算法 解决方案二: java基础的叫j2se,涉及大概封装,多态,继承,重写,重载,接口,实现等内容,io流,集合,数组,map等知识,可以参考各大学习网站!CSDN也可以哦,然后就可以继续学习安卓了!!推荐几本书籍,java编程思想,安卓推荐李刚的,适合初学者!! 解决方案三: 不用学算法,学完J

java-小弟想请教一个问题.对于大神们来说很简单

问题描述 小弟想请教一个问题.对于大神们来说很简单 小弟的这个程序很简单 但是对于小弟来说实在是太难了 本来前面的已经实现了,但是算总分的时候第二个人的成绩总是要和第一个成绩相加,这是程序这是运行后的结果就想问问大神怎么做把两个人的总分成绩分开 求大神帮帮忙哈 解决方案 zhongfen[i]=bianliang; 下一行加上 bianliang=0; 解决方案二: 变量 bianliang 在每次输入学生姓名是清零.

请教一个关于java的项目问题

问题描述 请教一个关于java的项目问题 解决方案 类似的http://down.51cto.com/data/2009264http://download.csdn.net/detail/u010777420/5426033 解决方案二: 你自己先试着做呗,你先熟悉Java Web从前台到后端的流程,一块块地实现,自己实现的东西,即使碰到问题,自己解决,收获会很大的. 解决方案三: 这跟我前一段时间写的 差不多, 用 java web, 我博客里有内容分页实现,登录注册,类比的可以写出来这些,

ext 权限 menu 动态-我想请教一个关于Ext JS4根据权限动态生成左侧树形菜单,和上侧Menu下拉菜单。

问题描述 我想请教一个关于Ext JS4根据权限动态生成左侧树形菜单,和上侧Menu下拉菜单. 我现在根据自己想的写了一个动态生成树的例子:数据库有 用户表 : 里面有个角色id ,角色表: 里面有个可以访问页面的Id号.然后我登陆的时候会判断用户拥有哪些id号,再根据id号生成树形菜单. 现在我在页面上侧加Menu的下拉菜单.也想根据权限生成,但是没有思路..想请教下各位,有什么例子可以借鉴 或者指点一下.谢谢啦 ~~

app-我想请教一个AS菜鸟级别问题

问题描述 我想请教一个AS菜鸟级别问题 Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 7 declared in library [com.android.support:appcompat-v7:23.0.0] D:WorkSpaceMediaPlayerap

html5技术-想请教一个问题,svg 在不同的手机和浏览器显示出来的效果不一样怎么处理?

问题描述 想请教一个问题,svg 在不同的手机和浏览器显示出来的效果不一样怎么处理? 用svg画出的图形,在不同的手机上显示效果不一样改如何处理?

请教一个用JAVA解决的问题

问题描述 请教一个用JAVA解决的问题 设有i批货,每批价值Vi,重Wi,用一个载重M的卡车装,怎么使卡车装价值最高的货物,这个怎么用JAVA解决?这个模型的有什么名字嘛? 解决方案 这就是背包算法 参考:http://blog.csdn.net/double501/article/details/5895201http://blog.sina.com.cn/s/blog_49f9904d01000auc.html 解决方案二: ??当我们用FtpClient的list函数得到了服务器的列表以后

我想我一个关于java线程的问题

问题描述 我想我一个关于java线程的问题 假如有T1,T2,T3三个线程 T1,T2在等待状态(wait),现在T3想唤醒T2,不管T1,怎么做,怎么用notify T1,T2在睡眠状态(sleep),现在想用T3打断T2(interrupt),我该怎么使用interrupt 在线等,谢谢大神们 解决方案 进程还是线程?是一个问题!进程还是线程?是一个问题!如何停止一个Java线程 解决方案二: notify是会唤醒所有的此对象的wait线程的,但ReentrantLock,ReadLock,