Java 我的程序有什么问题?它没有显示任何时钟计时器?
嘿,伙计们,我有这个问题。我们必须制作自己的时钟计时器,我已经完成了特定的任务,但我的程序仍然没有显示任何计时器:Java 我的程序有什么问题?它没有显示任何时钟计时器?,java,Java,嘿,伙计们,我有这个问题。我们必须制作自己的时钟计时器,我已经完成了特定的任务,但我的程序仍然没有显示任何计时器: public class DigitalClock { private int hr; private int min; private int sec; public void setTime(int hours, int minutes, int seconds) { if (0 <= hours && hours <
public class DigitalClock {
private int hr;
private int min;
private int sec;
public void setTime(int hours, int minutes, int seconds)
{
if (0 <= hours && hours < 24)
hr = hours;
else
hr = 0;
if (0 <= minutes && minutes < 60)
min = minutes;
else
min = 0;
if (0 <= seconds && seconds < 60)
sec = seconds;
else
sec = 0;
}
public int getHours()
{
return hr;
}
public int getMinutes()
{
return min;
}
public int getSeconds()
{
return sec;
}
public void printTime()
{
if (hr < 10)
System.out.print("0");
System.out.print(hr + ":");
if (min < 10)
System.out.print("0");
System.out.print(min + ":");
if (min < 10)
System.out.print("0");
System.out.print(sec);
}
public void incrementHours()
{
hr++;
if (hr > 23)
hr = 0;
}
public void incrementMinutes()
{
min++;
if (min > 59)
{
min = 0;
incrementHours();
}
}
public void incrementSeconds()
{
sec++;
if (sec > 59)
{
sec = 0;
incrementMinutes();
}
}
}
公共类数字时钟{
私人国际人力资源;
私用int min;
私人国际证券交易委员会;
公共无效设置时间(整数小时、整数分钟、整数秒)
{
如果(0 59)
{
秒=0;
递增分钟();
}
}
}
我认为您可能遗漏了代码中的主要方法
public static void main(String args[])
{
DigitalClock clock = new DigitalClock();
clock.setTime(22, 14, 10);
clock.incrementHours();
clock.printTime();
}
如果我将main方法添加到代码中,那么它会给出如下输出:
23:14:10
Edit1正如@RC在他的评论中提到的,您在检查
sec
时比较min
,因此您必须将其更改为:
if (sec < 10)
System.out.print("0");
if(第10节)
系统输出打印(“0”);
您缺少主要方法:
您可以使用main方法和startTimer方法,如:
public void startTimer(int noOfSeconds) throws InterruptedException {
setTime(0, 0, 0);
while(noOfSeconds>0) {
incrementSeconds();
Thread.currentThread().sleep(1000);
printTime();
noOfSeconds--;
}
}
public static void main(String[] args) throws InterruptedException {
DigitalClock dc = new DigitalClock();
int noOfSeconds = 1000;
dc.startTimer(noOfSeconds);
}
它将在您经过的几秒钟内运行计时器。我们可以看到主代码吗?如果不打印,您的程序会做什么?问题不清楚,请您简要解释一下。为什么使用printTime方法hr@nishu我想OP只想用两位数的格式打印时间。这就是为什么他在值小于10时添加
0
if(min<10)System.out.print(“0”);系统输出打印(秒)如果(第10节)/…@RC良好拾取,则代码>被更正为。答案中已编辑。为什么在“DigitalClock=new DigitalClock”下显示错误“找不到符号”?对不起,我只是一个初学者,我觉得java非常难,所以我正在练习。谢谢你的帮助,没关系。它发生在开始时。将代码张贴在出现错误的地方。