게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[자바]스택이랑 토크나이저 활용에서 질문좀해도될까요
게시물ID : computer_203492짧은주소 복사하기
작성자 : Elemenophy
추천 : 0
조회수 : 595회
댓글수 : 6개
등록시간 : 2014/11/16 20:48:38
프로그래밍언어 입문단계인데요. 
public class Ex {

public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>(); //int형을 받는 스택을 생성하고
StringTokenizer st = new StringTokenizer("50+10", "+", true); //Tokenizer생성하고
while(st.hasMoreTokens()) //Tokenizer에 토큰이 있을떄까지
{
if(isNumber(st.nextToken())) //토큰이 숫자라면
{
int a = Integer.parseInt(st.nextToken()); //토큰값을 인트형으로 변환하고
stack.push(a); //스택안에 값을 집어넣는다!
}
}
}
라는걸 하려고했더니 
Exception in thread "main" java.lang.NumberFormatException: For input string: "+"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at cp11.Ex4.main(Ex4.java:12)
라는 에러가 뜨는데요. 제가보기엔 에러코드 마지막줄보니까 토큰값을 인트형으로 변환하는데 방법이 잘못된거같은데
자바고수님들 해법좀 알려주시면 감사하겠습니당..


참고로 isNumber메서드는
static boolean isNumber(String str){
boolean s;
try
{
Integer.parseInt(str);
s = true;
}
catch(NumberFormatException nfe)
{
s=false;
}
return s;
}
이렇게 만들었는데 잘 구동되는거 같더라고요
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호