이제 본격적으로 슬슬 Java와 JavaScript 공부에 푹 빠져있는 MarShall™ 입니다.
구글이나 다음, 네이버 등을 조금만 뒤지셔도 특정 함수나 기능에 대해 너무나도 친절히 잘 정리한 블로그나 카페들이 많습니다. 여담이지만, 영어에 대해 잘 알고있는 일부 '레알' 전문가 분들은 주로 Java 홈페이지 및 문서 등을 통해 직접 새 기능 및 함수들을 배우신다고 합니다.
("난 정말 Java를 배운 적이 없다구요"의 동영상 강의 1-1강에 언급됨)
그래서 제 블로그에 굳이 이들을 일일이 정리해서 올리려니 부담도 되고, 글 하나 포스팅하는데 상당힌 시간이 소요되더군요 ㅜ.ㅜ;; 그래서 제가 프로그램 하나하나 짜면서 실습한 예제 및 일부 기능 설명 등 제 나름대로의 방식대로 포스팅 하겠습니다.
서론이 좀 길었네요 ㅋㅋ 이번에 공개해드릴 프로그램은 바로 "성별 구분 프로그램" 입니다. X-Ray 같은 센서를 이용해서 유저의 신체를 검사하는 그런 거창한(?) 프로그램은 아니구요 ^^;
* 작동 순서
[1] 이용자에게 성별을 물어봅니다.
[2] 이용자가 답변을 하구요. (남자는 1번, 여자는 2번, 그 외의 값은 X)
[3] 입력된 답변을 바탕으로 성별을 출력하는 프로그램입니다.
위 스크린샷이 바로 프로그램 구동 스샷입니다.
위 파일을 다운받으시면 .class, .java , .txt 파일 이렇게 3개가 들어있습니다. 혹시 C언어를 공부해보신 분 계신가요? 자바에서 scanner 함수는 Java SDK 5.0 이상이면 된다고 지식인에 나와있습니다. 뭐 딱히 자바의 버전은 신경 안쓰셔도 됩니다. (참고로, 2012년 04월 06일 현재 이 시점에서는 Java SDK 7u3 버전이 최신 버전입니다.) [1] 문자형 데이터 값을 입력받고 싶다 : scanner.next(); 이 글을 찾으실 정도면, 대부분 자바 초보 분들이실 듯 합니다. 저도 이제야 자바에 대해 감을 잡고 있는 초보자입니다. 글 쓰는 실력이 아직 부족하여 충분히 이해하셨는지 모르겠습니다. 그럼 이만 글을 줄이겠습니다.
scanner 값은 혹시나해서 출력시켜봤는데, 괜히 보기 지저분하고 왜 넣었는지 모르겠습니다.
이 부분에 대해 좀 더 알고 싶어서 구글링 시도했지만 찾기 힘들이서 일단 포기. ^^
txt 파일과 java 파일은 동일합니다. 소스코드를 여기서 보시려면 아래를 눌러주세요.
C언어를 기초라도 잠깐 배워보신 분들은 scanf 함수에 대해 잘 아실 껍니다. 이 놈의 역할은 바로 사용자에게 키보드로 입력값을 받고, 이를 변수에 저장하는 것입니다. 즉, 컴퓨터가 용자에게 이름이나, 나이, 전번(?) 등을 물어볼 적에 많이 쓰이는 기능입니다
class scanner {
public static void main (String [] args) {
Scanner scanner = new Scanner(System.in); // [필수 2]
System.out.print("문자열을 입력하세요 : ");
String S = scanner.next(); // 문자열 S 변수 선언, 사용자가 데이터값 입력하기
System.out.print("정수를 입력하세요 : ");
int I = scanner.nextInt(); // 정수 I 변수 선언, 사용자가 데이터값 입력하기
System.out.print("실수를 입력하세요 : ");
float F = scanner.nextFloat(); // 실수 F 변수 선언, 사용자가 데이터값 입력하기
System.out.println("문자열 S의 값 :" + S);
System.out.println("정수 I의 값 :" + I);
System.out.println("실수 F의 값 :" + F);
}
[2] 흔히 쓰는 일반적인 숫자 (정수) 데이터 값을 원할 경우 : scanner.nextInt();
[3] 소숫점이 있는 숫자 (실수) 데이터 값을 원할 경우 : scanner.nextFloat();
[주의!]
import java.util.Scanner; 는 반드시 class 위에 쓰셔야 됩니다. 클래스 중간에 쓰시면 에러가 납니다. 왜 나는지, 왜 저걸 굳이 선언해야하는지는 모르겠습니다. Scanner scanner = new Scanner(System.in); 역시 빼먹으시면 에러가 납니다. 이 두개가 함께 있어야 비로소 scanner 함수가 작동합니다.
아무리 설명이 잘되어 있고, 멋진 그림으로 잘 묘사를 해두어도, 배우시는 분 스스로가 직접 한번이라도 코딩하여 실행하지 않으면 전혀 도움이 되지 않습니다. 직접 소스코드를 입력해보고, 분석하면서 잠깐이나마 고민을 해보신다면 충분히 실력이 늘지 않을까 생각합니다.
감사합니다 ^^
'컨텐츠 Contents > [02] PC 관련 | 하드웨어' 카테고리의 다른 글
[윈도8] 관리자라서 서럽다?! 사람 열받게 만드는 관리자 권한 (11) | 2012.06.03 |
---|---|
삼성에서 만든 추억의 스마트폰, 옴레기폰 (옴니아2)... (3) | 2012.04.11 |
[펌] 입출력함수, 변환기호 (특수문자) 및 클래스명 작명 규칙 (0) | 2012.04.06 |
증가연산자에서 전치 (++a) 와 후치 (b++)의 차이 알아보기 (0) | 2012.04.04 |
우분투 리눅스 12.04 LTS 베타2 구동 영상 및 링크 (1) | 2012.03.30 |