我目前正在为Java做作业,但我被困了。我必须从三个参数中创建一个生日:day,month和year,它们是numbers = int。有了这个,我必须对有效日期进行一些检查。我认为这部分已经完成,但我对以下内容感到困惑:
我想要if语句检查当天,如果这一天是正确的,那么这段代码应该通过
运行if (dag >=1 && dag <=31)
{
datum = dag;
}
datum
是一个字符串,因为我想得到这样的日期:DD-MM-YYY
dag
是一个Int。因此,每当我尝试编译它时,BlueJ在这部分提出错误,说“不兼容的类型”。我假设这是因为我尝试在字符串中放置一个Int。这有可能以任何方式,因为我无法找到如何。
答案 0 :(得分:3)
使用String.valueOf
方法将int
转换为string
: -
int i = 32;
String str = String.valueOf(i);
当然,请遵循@Brian's answer中有关您应该做的事情的建议。
答案 1 :(得分:3)
不要把它变成一个字符串。不是。我想你应该
这是适当的OO方式。否则你最终得到一堆不同的断开连接的变量,在它们的组合中表示一些对象类型,但你不能原子地操纵它们,调用它们上的方法等。把所有东西都称为字符串被称为 stringly-typing (与强类型相反)并且代码味道特别糟糕!
在某个阶段,请查看Joda-Time以获得比上述建议更好的日期/时间API。但是目前我怀疑你没有下载额外的罐子,你的盘子已经足够了。