>>656
とにかく何にしてもAPIリファレンスをよく読んで。

Display.KEY_CLEARの定義値は0x20だからgetKeypadState(1)とするのが正解。
またDisplay.KEY_CLEARはあくまでオプションだということも忘れずに。
APIリファレンスでgetKeypadState()を調べよ。

>むしろ「0」キーを拾う始末
0x20=32、1を32ビットシフトしたらint型(getKeypadState()の戻り値)を越えて0。
0(すなわちDisplay.KEY_0)とgetKeypadState()の論理積をとってることになる。

>g.drawString("? ", 10, 0);
これだと文字は画面外に表示されるぞ。yはベースラインの座標。
APIリファレンスでdrawString()を調べよ。

if (((1 << Display.KEY_CLEAR) & getKeypadState(1)) != 0){
g.drawString("? ", 10, 50); //50は例として。フォントの高さより大きければよい。
return -1;
}