시소당
public String postFix(String Exp) // 중위표기식을 후위표기식으로 변환하는 메소드가 있습니다
스트링 문자 를 입력하여
스트링의 결과 를 얻고 싶습니다
int i;
char[] stack = new char[Exp.length()];// 후위표기식을 변환후 저장할 배열 생성
int k=0;
for(i=0;i<Exp.length();i++)
{
char token = Exp.charAt(i);
이런식으로 토근을 비교하면서 하기 때문에 저렇게 한거구요
그러므로 마지막에 반환시킬 stack는 캐릭터형이므로 이것을
스트링 문자형으로 바꿔야 다음 메소드에 사용할수 있어서요
한마디로 3+3*4를 입력받으면 334*+가 나오는데 저는
stack = Postfix.postFix(Exp+'#');
for(int i=0;i<Exp.length();i++)
{
System.out.print(stack);
}
이렇게 하나씩 출력을 되게 할수 박에 없어요
하지만
캐릭터형을 스트링형으로 합치는 방법이 있으면 알려주세요
public char[] postFix(String Exp) <=== 현재상태
public String postFix(String Exp) <=== 원하는 방식
--------------------------------------------------------------------------------------------
캐릭터를 스트링으로 합치는 방법은 여러가지가 있습니다..
char[] val = {'1' , '2' , '3'};
String str = new String(val , 0 , val.length); // String(char[] c , int offset , int length) 생성자를 이용한방법
System.out.println(String.valueOf(val)); // String 클래스의 static 메서드를 이용한 방법
String str2 = new String(val); // 생성자를 이용한방법
java Api 을 보시면 보다 상세하게 나와있습니다.
출처 : 네이버 지식인