JAVA 이용해서 시리얼통신을 통해 받은 데이터 이용에 대해 문의 드립니다.

qqkain의 이미지

시리얼통신을 통해 받은 "A"라는 데이터를 길찾기 프로그램의 현재위치를 표시해줄 데이터로 활용하려고 하는데

public String find()
{
if(a.equals("A"))
{
x=a;
}
else if(a.equals("B"))
{
x=a;
}
return x;
}
public void c()
{
String result = this.find();
ShortPath s = new ShortPath();
s.d(result);
}
}

코드를 써서 받은 데이터를

String f=null;
	public void d(String m)
	{
		f=m;
		System.out.print(f);
	};

길찾기 프로그램에 끌어왔는데
public void를 벗어나면 저 f를 쓸 수 없는데 왜 그런건지 문의드립니다.ㅠㅠ

그리고

public String find()
{
if(a.equals("A"))
{
x=a;
}
else if(a.equals("B"))
{
x=a;
}
return x;
}
public void b()
{
String re = this.find();
levy s = new levy();
s.d(re);
}
}

이런식으로 변경했을 땐 levy가 public class라서 오류가 발생하던데
public class에서 데이터를 이용하기 위해선 어떤 방식을 써야 하는지도 문의드립니다..

고수님들의 조언 부탁드립니다.ㅠ