Variable change in one thread not affecting others - Java

I have a program where I start a new thread to receive input, and then stop the thread after a while and see if i got any input. (Yes, I know stop is deprecated). The print inside run() prints whatever I input, however the one inside play() prints nothing. I’d like to know how I can make response consistent between threads. I’ve tried making response volatile. I’ve also tried having a normal string and changing it inside run(), but this didn’t work at all.

class myClass implements Runnable{
	Scanner in = new Scanner(;
	StringBuilder response = new StringBuilder();

	public void run(){
		System.out.println("You responded: " + response.toString());
	String play (){
		Thread t = new Thread(new qTime());
		try{ Thread.sleep(3000); } catch (Exception e) { System.out.println("Waiting Failed!"); }