실제 예입니다.


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]

글쓴이 :박찬우 2000년 4월 27일 09:33:56

In Reply to: 조금만..더 자세하게 안될까요^^? posted by 현정 on 2000년 4월 27일 00:28:00:

import java.io.*;


public class InputArrayDemo
{
public static void main(String[] args)
{
//표준 입력으로부터 입력받기 위해 준비
//이때 1바이트 스트림과 2바이트 스트림 연결을 위해 InputStreamReader를 매개로 사용.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


String input = "";


//입력을 받기 위해 대기
//입력하고 엔터를 치면 줄바꿈 문자를 제외한 입력 문자열을 input에 대입
try
{
System.out.println("입력하십시오");
input = br.readLine();
System.out.println("입력받은 내용: " + input);
}
catch (IOException ex)
{
System.out.println("입력받는 중 에러발생: " + ex.toString());
}

//입력 받은 문자열의 길이를 구한다.
int len = input.length();


//입력받은 각 자리를 따로 저장하기 위해 그만큼의 배열 준비
int[] array = new int[len];


for (int i=0; i<input.length() ; i++ )
{
//각각의 위치에 있는 문자에 차례로 접근
String sub = input.substring(i, i+1);


try
{
//문자를 숫자로 변환
array[i] = Integer.parseInt(sub);
}
catch (NumberFormatException ex)
{
System.out.println("문자를 숫자로 변환할 때 에러발생: " + ex.toString());
array[i] = 0; //에러가 난 요소에는 0을 넣기로 한다.
}
}


System.out.println("변환 후 배열 내용:");
for (int i=0; i<array.length; i++)
{
System.out.println("array[" + i + "] = " + array[i]);
}
}
}


실행 결과는 다음과 같이 나옵니다.


입력하십시오
23as5a1
입력받은 내용: 23as5a1
문자를 숫자로 변환할 때 에러발생: java.lang.NumberFormatException: a
문자를 숫자로 변환할 때 에러발생: java.lang.NumberFormatException: s
문자를 숫자로 변환할 때 에러발생: java.lang.NumberFormatException: a
변환 후 배열 내용:
array[0] = 2
array[1] = 3
array[2] = 0
array[3] = 0
array[4] = 5
array[5] = 0
array[6] = 1



다음 글들:



이어서 글올리기(답하기)

이름:
E-Mail:
제목:
내용:
HTML 태그 포함 여부: HTML 문서일 경우 체크
관련 URL(선택):
URL 제목(선택):
관련 이미지 URL:


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]