変数の宣言に問題があります。iamはマルチスレッドを使用してコードを準備しようとしていますが、変数の宣言に問題があります。今、iamは混乱しています。Scannerをメインクラスではなく2番目のクラスに入れることができるかどうか-はいと思いますが、変数を宣言する方法がわかりません。例外は-スレッド"main"の例外java.lang.RuntimeException:コンパイルできないソースコード-非静的変数これは 、test1.PIN.mainの静的コンテキストから参照できません...
public class PIN{
static int a;
class Runner extends Thread{
public void run(){
Scanner sc = new Scanner(System.in);
for(int i= 1; i<4; i++){
System.out.println("PUT your PIN: ");
int a = sc.nextInt();
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
Logger.getLogger(PIN.class.getName()).log(Level.SEVERE, null, ex);
}
if(a ==1234){
System.out.println("PIN OK");
} else {System.out.println("PIN NOK");}
}
}
}
public static void main(String[] args){
Runner r = new Runner();
r.start();