안녕하세요 처음 질문 올리는 자바 초보입니다

조회수 878회

scanner 써서 csv 파일을 읽어와서 합계를 계산하는 프로그램인데 이미지

csv파일을 txt로 저장하고

import java.util.Scanner; import java.io.File;

public class scannerHw {

@SuppressWarnings("resource")
public static void main(String[] args) throws Exception{
    Scanner scan1 = new Scanner(new File("C:\\zoo\\Salaries.txt"));
    Scanner scan2 = new Scanner(System.in);
    int count = 0;
    int totalSum = 0;



    while(scan1.hasNextLine()) {

        int sum = 0;
        String line= scan1.nextLine();
        scan2 = new Scanner(line).useDelimiter(",");


        while(scan2.hasNextInt()) {
            sum = sum + scan2.nextInt();
        }

        System.out.println(line + " sum = " + sum);
        totalSum += sum;
        count++;
        scan2.close();


    }
    System.out.println("Line : "+count+", total : "+ totalSum);
    scan1.close();
}
}

이미지

salary 탭에있는 숫자들을 sum에 누적시켜 총 합계를 계산하는 프로그램인데 돌려보면 자꾸 sum이 누적이 안되고 0으로만 나오는데 어디서부터 잘못된걸까요..ㅠㅠ 도저히 모르겠네요.

  • useDelimiter(",") 부분을 useDelimiter(" ") 으로 고쳐서 해보시죠. 파일 서식을 보니 구분을 공백으로 하고 있네요. 알 수 없는 사용자 2020.4.4 19:59
  • 댓글 감사합니다 ! 그래도 똑같네요 ..ㅠㅠ 아무래도 sum += scan2.nextInt(); 이부분에서 좀 잘못된거같은데 흐 원인을 모르겠네요 seilyn_@naver.com 2020.4.5 21:17
  • useDelimiter를 바꿔도 sum이 0 나오는건 줄의 첫 번째 단어가 숫자가 아니기 때문에 while문을 바로 탈출해버리기 때문입니다. 알 수 없는 사용자 2020.4.6 07:25
  • 아하 그랬군요 감사합니다 도움 많이 되었어요 ! seilyn_@naver.com 2020.4.6 17:05

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)