【发布时间】:2016-05-11 13:29:09
【问题描述】:
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 秒内输入字符串的应用程序。为此,我有两个类,即 ThreadClass 和 MyThread。在 Thread 类中,我定义了从用户那里获取输入并将计时器设置为 10 秒的方法。在 MyThread 类中,我定义了线程后完成的方法,即时间结束后程序将做什么。我想在 MyThread 类中添加一个功能,以便它将用户输入与提供的字符串进行比较。问题是,当我尝试访问 String 变量 scr 时,它通过创建一个 MyThread 类在 ThreadClass 中定义,它给了我一个错误。即使我尝试从 MyThread 类扩展 ThreadClass ,它也会给我一个错误。将 scr 声明为静态也会给我相同的结果。有什么方法可以在 MyThread 中使用 scr 变量吗?
【问题讨论】:
-
只是说“它给了我一个错误”并没有为我们提供有关您的问题的很多信息。如果您包含错误消息的文本,您将更有可能获得问题的高质量答案。
标签: java multithreading variables