令牌语法错误“}”,删除此令牌
问题描述:
我不断收到此错误,说“令牌上的语法错误”}“,删除此令牌。在最后一行,为什么?我正在寻找错误,但我似乎无法找到它。正如你可以看到它是一种服务,每隔一段时间调用一次服务。令牌语法错误“}”,删除此令牌
package com.iggeman.updater;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class UpdaterService extends Service {
private static final String TAG = UpdaterService.class
.getSimpleName();
private Updater updater;
public boolean isRunning = false;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
updater = new Updater();
Log.d(TAG, "onCreate");
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
if (this.isRunning == false) {
updater.start();
this.isRunning = true;
}
Log.d(TAG, "onStart");
}
@Override
public synchronized void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if (this.isRunning) {
updater.interrupt();
}
updater = null;
Log.d(TAG, "onDestroy");
}
class Updater extends Thread {
static final long DELAY = 10000;
private boolean isRunning = false;
public Updater() {
super("Updater");
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
isRunning = true;
while (isRunning) {
try {
// Do something
startService(new Intent(getBaseContext(), StartServiceTwo.class));
Log.d(TAG, "Updater running");
Thread.sleep(DELAY);
} catch (InterruptedException e) {
// interrupted
isRunning = false;
}
} // while
}
public boolean isRunning() {
return this.isRunning();
}
}
}
我已经经历了所有的支架消失了,我找不到任何人,是不是它应该是。
编辑:
仍然错误:
package com.iggeman.updater;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class UpdaterService extends Service {
private static final String TAG = UpdaterService.class
.getSimpleName();
private Updater updater;
public boolean isRunning = false;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
updater = new Updater();
Log.d(TAG, "onCreate");
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
if (this.isRunning == false) {
updater.start();
this.isRunning = true;
}
Log.d(TAG, "onStart");
}
@Override
public synchronized void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if (this.isRunning) {
updater.interrupt();
}
updater = null;
Log.d(TAG, "onDestroy");
}
class Updater extends Thread {
static final long DELAY = 10000;
private boolean isRunning = false;
public Updater() {
super("Updater");
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
isRunning = true;
while (isRunning) {
try {
// Do something
startService(new Intent(getBaseContext(), StartServiceTwo.class));
Log.d(TAG, "Updater running");
Thread.sleep(DELAY);
} catch (InterruptedException e) {
// interrupted
isRunning = false;
}
} // while
} //Run
} //Class updater
public boolean isRunning() {
return this.isRunning();
}
} //Main body
答
由于粘贴,该错误信息是不正确的,你必须在正确的地方匹配的括号适当数量的(虽然上面的缩进是无情)。然而,除了一个疯狂的编译器角落案例,无法正确匹配大括号,我猜你已经粘贴了除了最后一个大括号,它抱怨。按照错误消息建议的方式进行操作,并删除它建议的标记。
...每个人都疯狂地发布了一个答案,建议删除额外的'}'一个简单的10分... – 2012-07-19 23:07:54
除了它的外观,他没有粘贴。有些缩进对他没有任何好处,但正如问题中没有额外的支撑。 – 2012-07-19 23:09:35
哈哈亚历克斯,我已经尝试过,但据我所知,有适当数量的右括号。 – Eric 2012-07-19 23:10:58