我说这一切都在标题中,但我主要需要最后一部分帮助我无法正确添加它在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 );
}
}
答案 0 :(得分:1)
不要使用==
比较字符串。请改用equals(...)
或equalsIgnoreCase(...)
方法。理解==检查两个对象是否相同而不是您感兴趣的。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,并且这才是最重要的。而不是
if (fu == "bar") {
// do something
}
做,
if ("bar".equals(fu)) {
// do something
}
,或者
if ("bar".equalsIgnoreCase(fu)) {
// do something
}