Java 我希望if语句在12分钟或超过12分钟时能够工作,但我不断收到一个错误,即;类型不匹配:无法从int转换为boolean;

Java 我希望if语句在12分钟或超过12分钟时能够工作,但我不断收到一个错误,即;类型不匹配:无法从int转换为boolean;,java,if-statement,time,Java,If Statement,Time,我希望if语句在12分钟后运行,但我一直遇到错误“类型不匹配:无法从int转换为boolean”,我该如何处理 public void clock() { Thread cloo = new Thread() { public void run() { try { while (true) { Calendar cal = new GregorianCalendar();

我希望if语句在12分钟后运行,但我一直遇到错误“类型不匹配:无法从int转换为boolean”,我该如何处理

public void clock() {
    Thread cloo = new Thread() {
        public void run() {
            try {
                while (true) {
                    Calendar cal = new GregorianCalendar();
                    int day = cal.get(Calendar.DAY_OF_MONTH);
                    int hour = cal.get(Calendar.HOUR);
                    int min = cal.get(Calendar.MINUTE);
                    int second = cal.get(Calendar.SECOND);
                    lblNewLabel_1.setText(day + "/ " + hour + ":" + min + ":" + second);
                    sleep(1000);

                    if (min =+ 12) { // <<<<< where the problem is
                        message.setText("its been over 12 minutes");
                    }
                }
            }
        }
    }
}
公共无效时钟(){
线程cloo=新线程(){
公开募捐{
试一试{
while(true){
Calendar cal=新的Gregorianalendar();
int day=cal.get(日历日/月日);
int hour=cal.get(日历小时);
int min=cal.get(日历分钟);
int second=cal.get(Calendar.second);
lblNewLabel_1.setText(天+“/”+小时+”:“+分钟+”:“+秒);
睡眠(1000);

if(min=+12){/if
表达式只接受
boolean
值,但
min=+12
int
值,因此会发生类型不匹配

试试这个:

int countdown = 12;
while (true) {
    Calendar cal = new GregorianCalendar();
    int day = cal.get(Calendar.DAY_OF_MONTH);
    int hour = cal.get(Calendar.HOUR);
    int min = cal.get(Calendar.MINUTE);
    int second = cal.get(Calendar.SECOND);
    lblNewLabel_1.setText(day + "/ " + hour + ":" + min + ":" + second);

    sleep(1000);
    countdown = countdown - 1;

    if (countdown <= 0) {
        message.setText("its been over 12 minutes");
    }
}
int倒计时=12;
while(true){
Calendar cal=新的Gregorianalendar();
int day=cal.get(日历日/月日);
int hour=cal.get(日历小时);
int min=cal.get(日历分钟);
int second=cal.get(Calendar.second);
lblNewLabel_1.setText(天+“/”+小时+”:“+分钟+”:“+秒);
睡眠(1000);
倒计时=倒计时-1;

if(countdownif
if
表达式只接受一个
boolean
值,但是
min=+12
是一个
int
值,因此会发生类型不匹配

试试这个:

int countdown = 12;
while (true) {
    Calendar cal = new GregorianCalendar();
    int day = cal.get(Calendar.DAY_OF_MONTH);
    int hour = cal.get(Calendar.HOUR);
    int min = cal.get(Calendar.MINUTE);
    int second = cal.get(Calendar.SECOND);
    lblNewLabel_1.setText(day + "/ " + hour + ":" + min + ":" + second);

    sleep(1000);
    countdown = countdown - 1;

    if (countdown <= 0) {
        message.setText("its been over 12 minutes");
    }
}
int倒计时=12;
while(true){
Calendar cal=新的Gregorianalendar();
int day=cal.get(日历日/月日);
int hour=cal.get(日历小时);
int min=cal.get(日历分钟);
int second=cal.get(Calendar.second);
lblNewLabel_1.setText(天+“/”+小时+”:“+分钟+”:“+秒);
睡眠(1000);
倒计时=倒计时-1;

如果(倒计时您应该有
min>=12
min=+12
在当前的分钟数上加12。答案是正确的。这是为了您将来的帮助,请尝试一步一步地调试代码,并在问题所在的步骤知道返回值,您将得到它的来源。@Tyberius:不,
min=+12
不加12。)分钟数-这将是
min+=12
min=+12
相当于
min=+12;
,因此它只是将值设置为12。您应该让
min>=12
min=+12
在当前分钟数上增加12。答案是正确的。这是为了您将来的帮助,请尝试一步一步地调试代码如果你知道问题所在步骤的返回值,你就会得到它的来源。@Tyberius:不,
min=+12
不会增加12分钟-那将是
min+=12
min=+12
相当于
min=+12;
所以它只是将值设置为12。