Java 我希望if语句在12分钟或超过12分钟时能够工作,但我不断收到一个错误,即;类型不匹配:无法从int转换为boolean;
我希望if语句在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();
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(countdownifif
表达式只接受一个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。