PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2013/02/06 15:22:39
Name 오토모빌굿
Subject 자바고수님들의 도움 부탁드립니다.
텍스트 파일을 읽고 그 파일의 숫자들을 정렬을 하는 코드를 짜고 있습니다.
코드를 짰습니다만 자꾸 error: for input string : 텍스트파일의 숫자들 이 뜨는군요.
어느 부분이 잘못되었는지 가르침을 부탁드립니다.

제 코드는
import java.io.*;
import java.util.ArrayList;


public class Main {

    public static void main(String[] args) {
        try {
            // Open the file that is the first
            // command line parameter
            FileInputStream fstream = new FileInputStream("values1.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));

            ArrayList<Integer> list = new ArrayList<Integer>();
            String strLine;

            //Read File Line By Line
            while ((strLine = br.readLine()) != null) {
                // Print the content on the console
                System.out.println(strLine);
                list.add(Integer.parseInt(strLine));    // list에 저장
            }

            //Close the input stream
            br.close();

            Integer[] array = new Integer[list.size()];
            list.toArray(array);        // 배열로 저장

            // 정렬
            for (int i = 0; i < array.length - 1; i++) {
                for (int j = i + 1; j < array.length; j++) {
                    if (array[i] > array[j]) {
                        int temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                    }
                }
            }

            System.out.println("출력");
            for (int k = 0; k < array.length; k++) {
                System.out.print(array[k] + " || ");
            }

            // 다르게

//            // 정렬
//            for (int i = 0; i < list.size() - 1; i++) {
//                for (int j = i + 1; j < list.size(); j++) {
//                    if (list.get(i) > list.get(j)) {
//                        int temp = list.get(i);
//                        list.set(i, list.get(j));
//                        list.set(j, temp);
//                    }
//                }
//            }
//
//            System.out.println("출력");
//            for (int k = 0; k < list.size(); k++) {
//                System.out.print(list.get(k) + " || ");
//            }
        }
        catch (Exception e) {//Catch exception if any
            System.err.println("Error: " + e.getMessage());
        }

        System.out.println();
    }
}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
13/02/06 15:37
수정 아이콘
value1.txt 파일에 숫자 아닌 문자도 있어서 그래요.
숫자만 걸러내는 로직을 추가하시거나 value1.txt파일을 숫자로만 수정하시면 되실겁니다.
readLine()으로 한 라인별로 읽어들이는데 혹 숫자를 4 5 6 이런식으로 중간에 빈공백이 들어가시면 공백제거하셔야됩니다
오토모빌굿
13/02/06 15:39
수정 아이콘
텍스트파일 몽땅 숫자로 넣어도 같은 오류가 뜨네요 ㅠㅠ

간단하게 3 21 2 라고 적힌 텍스트로 실험해봐도

error: for input string: 3 21 2
라고 나옵니다.
13/02/06 15:41
수정 아이콘
readLine으로 한라인별로 읽으셔서 그래요.
3
21
2
이런식으로 txt파일 수정하시면 되실거에요.
오토모빌굿
13/02/06 15:50
수정 아이콘
아 그렇군요. 감사합니다!

텍스트파일이 한줄씩이 아닌 일렬로 늘어져 있고 수정이 불가한 경우는 어떤식으로 고쳐줘야할까요?
Red_alert
13/02/06 15:56
수정 아이콘
tokenizer를 이용해서 text를 잘라야됩니다.
System.out.println(strLine);
StringTokenizer st = new StringTokenizer(strLine);
while (st.hasMoreTokens())
list.add(Integer.parseInt(st.nextToken()); // list에 저장

이런식으로 해보세요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
159802 PS3 화면을 노트북으로 볼 수 있을까요? [1] Neuschwanstein3940 13/02/06 3940
159801 자바고수님들의 도움 부탁드립니다. [5] 오토모빌굿1643 13/02/06 1643
159800 어플 개발하시는 피잘려분들께... [3] 넛흐1592 13/02/06 1592
159799 방금 핸드폰에서 태그 납치 됐었습니다. [3] 허느2339 13/02/06 2339
159798 피쳐폰게임을 스마트폰에서못하나요?? [3] alswnd8135960 13/02/06 5960
159797 싱가포르 항공권 구입관련 질문입니다. [1] 삿짱z4605 13/02/06 4605
159796 미국은 우리나라처럼 온가족이 다 모이는 명절이 없죠? [6] 아레스2242 13/02/06 2242
159795 빛돌님이랑 단군님은 카오스실력이 어느정도였나요? [8] 설아4037 13/02/06 4037
159794 A row of gas pumps are under a roof. 라는 문장에 대한 잴문입니다. [5] 강호동1571 13/02/06 1571
159793 강일IC에서 부천종합운동장까지 가는 최적의 방법은 무엇인지요? [6] ComeAgain1896 13/02/06 1896
159792 옵쥐랑 옵뷰2의 장단점 [4] luvsic1878 13/02/06 1878
159791 [LOL] 게임하면서 가장 웃겼던 드립이 뭔가요? [23] 미됸3066 13/02/06 3066
159790 도서관예절 질문입니다. [15] Made.in.Korea1868 13/02/06 1868
159789 다른 지방에서는 이걸 뭐라고 부르나요. [25] 라리사리켈메v3447 13/02/06 3447
159787 아는 사람이 돈을 갚지 않아 법적인 조치를 취하려고 합니다 [3] MB1986 13/02/06 1986
159786 [lol]혹시 lol 랭겜 포인트 지급방식에 대해 아시는분 있나요? 귀후비개1652 13/02/06 1652
159785 애니 추천 부탁드립니다. [13] 백옥공자2117 13/02/06 2117
159784 데드스페이스3 어떻습니까? [3] Darth Vader1648 13/02/06 1648
159783 연말정산 질문입니다. [9] 탄야1816 13/02/06 1816
159782 첫 소개팅에서 함께 식사하는거 질문입니다.(내용수정) [21] 세이밥누님4274 13/02/06 4274
159781 [LOL] 요새 랭겜 분위기 어떤것 같나요? [13] 전인민의무장2186 13/02/06 2186
159780 이건 pgr 몇 % 일까요. [17] 배려2376 13/02/06 2376
159779 아픈데 조퇴 못하는 회사 [13] 호야v2576 13/02/06 2576
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로