需要询问人在所选月份中的天数,并向用户显示闰年当月的天数(java)

时间:2013-03-30 23:53:55

标签: java

我说这一切都在标题中,但我主要需要最后一部分帮助我无法正确添加它在system.out.printf中显示年份 - 双倍和一天作为正常数字

import javax.swing.*;
public class lab 
{
public static void main(String []args)
{

int day=0;

String month=JOptionPane.showInputDialog(null,"what month is it").substring(0,3);


if (month=="jan")
{
day=31;
}
if (month=="feb")
{
day=28;
}
if(month=="mar")
{
day=31;
}
if(month=="apr")
 {
day=30;
}
if(month=="may")
{
day=31; 
}
if(month=="jun")
{
day=30;
}
if(month=="jul")
{
day=31;
}
if(month=="aug")
{
day=31; 
}
if(month=="sep")
{
day=30;
}
if(month=="oct")
{
day=31;
}
if(month=="nov")
{
day=30;
}
if(month=="dec")
{
day=31;
}
String yearString=JOptionPane.showInputDialog("what year is it");

double yeardouble=Double.parseDouble(yearString);
if(yeardouble % 4==0)
{
yeardouble=1;
}
else 


yeardouble=0;





double answer = yeardouble + day;


System.out.printf( "theres "+ day + " days in"+ answer );




}
}

1 个答案:

答案 0 :(得分:1)

不要使用==比较字符串。请改用equals(...)equalsIgnoreCase(...)方法。理解==检查两个对象是否相同而不是您感兴趣的。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,并且这才是最重要的。而不是

if (fu == "bar") {
  // do something
}

做,

if ("bar".equals(fu)) {
  // do something
}

,或者

if ("bar".equalsIgnoreCase(fu)) {
  // do something
}