import java.util.Scanner;
public class ThreadClass{
public static void main(String[] args)
{
System.out.println("Enter the characters, Press Enter to begin");
System.out.println("The quick brown fox jumps over the lazy dog");
Scanner sc=new Scanner(System.in);
String scr= sc.nextLine();
MyThread tr=new MyThread();
try {
tr.sleep(11000);
System.out.println("Time Over");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class MyThread extends Thread{
public void run()
{
System.out.println("Time over");
ThreadClass tc=new ThreadClass();
String str=tc.scr;
if(str.equals("The quick brown fox jumps over the lazy dog"))
{
System.out.println("Successfully completed");
}
else
{
System.out.println("The typed Words do not match");
}
}
}
11秒以内に文字列を入力するように求めるプロンプトを表示するアプリケーションを作成しようとしています。これを達成するために、私は2つのクラス、すなわちThreadClassとMyThreadを持っています。 Threadクラスでは、ユーザーからの入力を受け取り、タイマーを10秒に設定するメソッドを定義しました。 MyThreadクラスでは、ポストスレッド補完のためのメソッドを定義しています。つまり、時間の経過後にプログラムが何をするかを定義しています。 MyThreadクラスに機能を追加して、ユーザー入力と提供された文字列を比較したいと思います。問題は、MyThreadクラスからThreadClassで定義されたString変数scrにアクセスしようとすると、エラーが発生するということです。 MyThreadクラスからThreadClassを拡張しようとしても、エラーが出ます。また、scrをstaticとして宣言すると、同じ結果が得られます。 MyThreadにscr変数を使用する方法はありますか?他のクラスから変数を呼び出す
"私にエラーが出る"と言っても、あなたの問題に関する多くの情報は得られません。エラーメッセージのテキストを含めると、質の高い回答が得られる可能性が高くなります。 –