튜토리얼 ENCRYPT문제 런타임오류 왜그럴까요??

  • star1230
    star1230
    import java.util.Scanner;
    
    public class Main {
        static char[][] arr = new char[10][100];
        static char[][] encryptArr = new char[10][100];
        static int[] arrNum = new int[10]; 
    
        static int repeatNum = 0;
    
        public static void main(String[] args) {
            repeatNum = scan().nextInt();
    
            for(int i=0; i<repeatNum; i++)
                inputData(i);
    
            for(int i = 0; i<repeatNum; i++)
                encrypt(i);
    
            for(int i = 0; i<repeatNum; i++)
                print(i);       
        }
    
        public static Scanner scan(){
            Scanner scan = null;
            if(scan==null){
                scan = new Scanner(System.in);
                return scan;
            }
            else 
                return scan;
        }
    
    
        public static void inputData(int i){
                String text = scan().nextLine();
                arrNum[i] = text.length();
                for(int j=0; j<text.length(); j++){
                    arr[i][j] = text.charAt(j); 
                }
    
        }
    
        public static void encrypt(int i){
            int evenNum=0;
            for(int j=0; j<arrNum[i]; j++){
                if(j%2==0){
                    encryptArr[i][j/2]= arr[i][j];
                    evenNum++;
                }
            }
    
            for(int j=1; j<arrNum[i]; j++){
                if(j%2!=0){
                    encryptArr[i][evenNum++]= arr[i][j];
                }
            }
    
        }
    
        public static void print(int i){    
            for(int j=0; j<arrNum[i]; j++)
                    System.out.print(encryptArr[i][j]);
                    System.out.println();
    
        }
    }

    혹시 다른 방식으로 입력하면 안되나 해서 다른 예제들도 입력해봤는데 잘나오더라고요 고수님들 문제점 좀 알려주세요 ㅜㅜ


    8년 전
2개의 댓글이 있습니다.
  • hyunhwan
    hyunhwan

    간략히 봤을 때, scan함수 안의 Scanner scan이 local variable이기 때문에 함수를 매번 호출시에 새로이 선언되는 문제가 있을 것 같습니다. 혹시 모르니 redirection이나 file input/output으로 바꿔서 한번 입출력을 검사해보세요.


    8년 전 link
  • star1230
    star1230

    재선언 했더니 바로 됫네여 ㅜㅜ 어떻게 바로 아셧나여?? 암튼 감사합니당 (_ _)


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.