프로젝트를 생성하기에 앞서 자이썬(Jython)을 다운받아줍니다.

자이썬(Jython)이란 자바 플랫폼용 파이썬, 즉 자바 언어로 만들어진 파이썬(Python)이라고 생각하시면 되겠습니다.

다운로드 주소 : http://www.jython.org/downloads.html





이제 다운받은 JAR파일을 자바 프로젝트에 추가시켜 줍시다.

프로젝트 파일을 생성 후 Build Path -> Configure Build Path... 를 클릭해 줍니다.




Java Build Path의 Libraries에서 Add External JARs...를 클릭하여 자이썬 홈페이지에서 다운받은 자이썬 JAR파일을 선택 후 Apply and Close 버튼을 눌러줍니다.




코드를 작성해 봅시다.

자이썬은 파이썬 코드와 자바 코드를 함께 사용할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import org.python.util.PythonInterpreter;
 
public class main {
 
    private static PythonInterpreter interpreter;
 
    public static void main(String[] args) {
 
        interpreter = new PythonInterpreter();
        interpreter.exec("from java.lang import System");
        interpreter.exec("s = 'Hello World'");
        interpreter.exec("System.out.println(s)");
        interpreter.exec("print(s)");
        interpreter.exec("print(s[1:-1])");
 
    }
 
}
cs




해당 코드를 실행시켜보면 이렇게 결과값이 출력되는걸 확인할 수 있습니다.




이제 파이썬 파일을 불러오기위해 간단한 파이썬 프로그램을 만들어 보겠습니다.

저는 메모장을 통해 두 수를 입력받아 더해주는 sum 함수를 만들어 보았습니다.

저장할 때는 파일 형식을 모든 파일로, 인코딩은 UTF-8로 바꿔주었습니다.




이제 자바에서 소스코드를 작성해 봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import org.python.util.PythonInterpreter;
 
public class main {
 
    private static PythonInterpreter interpreter;
 
    public static void main(String[] args) {
 
        interpreter = new PythonInterpreter();
        interpreter.execfile("test.py");
        interpreter.exec("print(sum(7,8))");
 
    }
 
}
cs




실행시켜보니 7과 8을 더한 15가 정상적으로 출력되는 모습을 볼 수 있습니다.




Error code : console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.

혹시 위와 같은 에러가 발생하시면 Run > Run Configurations > Arguments에 들어가셔서 환경변수에 -Dpython.console.encoding=UTF-8를 추가해주시면 되겠습니다.






조건문을 이용하여 간단한 자판기 프로그램을 만드는 예제입니다.


Q. 금액을 입력하고 메뉴를 고른 뒤 잔돈을 출력하는 프로그램입니다.

잔돈을 줄 때 천원, 오백원, 백원짜리 몇개를 줘야하는지 계산하여 출력하세요.

입력한 금액이 선택한 메뉴의 가격보다 부족하면 돈이 부족하다는 문장을 출력하세요.


실행 결과



if문을 이용한 정답 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int money, choice, change = 0// 넣은 금액, 메뉴 선택, 잔돈
        int cola = 800// 콜라
        int water = 500// 생수
        int vitaminWater = 1500// 비타민워터
        int oneThousandWon, fiveHundredWon, oneHundredWon = 0// 천원, 오백원, 백원
        
        // 금액 입력
        System.out.println("금액을 입력하세요.");
        money = sc.nextInt();
        
        // 메뉴 입력
        System.out.println("메뉴를 고르세요");
        System.out.print("1.콜라(800원) 2.생수(500원) 3.비타민워터(1500원) >> ");
        choice = sc.nextInt();
 
        // 메뉴 선택 후 잔돈 구하기, 돈이 부족한지 확인
        if (choice==1 && money>cola) {
            change = money - cola;
        } else if (choice==2 && money>water) {
            change = money - water;
        } else if (choice==3 && money>vitaminWater) {
            change = money - vitaminWater;
        } else {
            change = money;
            System.out.println("돈이 부족해요 ㅠㅠ");
        }
        
        System.out.println("잔돈 : " + change + "원");
        
        oneThousandWon = change/1000;
        fiveHundredWon = change%1000/500;
        oneHundredWon = change%1000%500/100;
        System.out.print("천원 : " + oneThousandWon + "개, " );
        System.out.print("오백원 : " + fiveHundredWon + "개, ");
        System.out.println("백원 : " + oneHundredWon + "개");
        
    }
 
}
cs




switch문을 이용한 정답 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        // 자판기 프로그램
        
        // 사용자 금액, 메뉴, 음료가격 변수
        int inMoney=0;
        int menuNum=0;
        int price=0;
        
        // 천원, 오백원, 백원 변수
        int m1000=0;
        int m500=0;
        int m100=0;
        
        Scanner sc = new Scanner(System.in);
        
        System.out.println("금액을 입력하시오.");
        inMoney = sc.nextInt();
        
        System.out.println("메뉴를 고르세요");
        System.out.print("[1] 콜라(800원) [2] 생수(500원) [3] 비타민워터(1500원) >> ");
        menuNum = sc.nextInt();
        
        switch (menuNum) {
        case 1:
            price = 800;
            break;
        case 2:
            price = 500;
            break;
        case 3:
            price = 1500;
            break;
        default:
            System.out.println("해당 메뉴는 없습니다.");
            break;
        }
        
        // 입력한 금액이 음료 가격보다 작은지 판별
        if (inMoney<price) {
            System.out.println("돈이 부족해요 ㅠ.ㅠ");
        } else {
            inMoney -= price;
        }
        
        System.out.println("잔돈 : " + inMoney);
        
        // 천원, 오백원, 백원 개수 구하기
        m1000 = inMoney/1000;
        inMoney %= 1000;
        m500 = inMoney/500;
        inMoney %= 500;
        m100 = inMoney/100;
        
        System.out.println("천원 : " + m1000 + "개, 오백원 : " + m500 + "개, 백원 : " + m100 + "개");
        
    }
 
}
 

cs


MariaDB Connector 다운로드

먼저 MariaDB Connector 파일의 다운을 위해 아래 링크 사이트로 이동합니다.

https://downloads.mariadb.org/connector-java/

이동 후 다운로드 버튼을 눌러줍니다.




MariaDB Connector/J .jar files 를 클릭해줍니다.




mariadb-java-client-2.2.5.jar 을 클릭하여 다운로드해줍니다.

버전은 시간이 지남에 따라 바뀔 수 있습니다.




이클립스에서 jar파일 불러오기

MariaDB를 연결할 프로젝트에 마우스 오른쪽 버튼 -> Build Path -> Configure Build Path 로 들어가 줍니다.





Java Build Path -> Libraries -> Modulepath -> AddExternal JARS... 을 클릭하여 위에서 다운로드 받은 JAR파일 선택해줍니다.




Modulepath에 mariadb jar 파일이 잘 들어온걸 확인하고 Apply and Close를 눌러 적용시켜 창을 닫아줍니다.




이클립스에서 MariaDB에 연결하는 코드 작성하기

아이피주소, dbName, userId, userPassword 를 바꿔주시고 실행하시면 됩니다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
public class DBcon {
    String driver = "org.mariadb.jdbc.Driver";
    Connection con;
    PreparedStatement pstmt;
    ResultSet rs;
 
    public DBcon() {
         try {
            Class.forName(driver);
            con = DriverManager.getConnection(
                    "jdbc:mariadb://127.0.0.1:3306/dbName",
                    "userId",
                    "userPassword");
            
            if( con != null ) {
                System.out.println("DB 접속 성공");
            }
            
        } catch (ClassNotFoundException e) { 
            System.out.println("드라이버 로드 실패");
        } catch (SQLException e) {
            System.out.println("DB 접속 실패");
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args){
        DBcon dbcon    = new DBcon();
    }
}
cs




에러 방생 시 해결 방법

드라이버 로드 실패

jar 파일을 잘 가져왔는지, 다른 파일을 다운받거나 하지 않았는지 확인해주세요.



DB 접속 실패

java.sql.SQLNonTransientConnectionException : 

포트번호가 잘못되었을 때 발생하는 에러입니다. 포트 번호에 3306을 적으셨는지 확인해주시고,

3306 포트가 열려있는지 확인해주시면 되겠습니다.

리눅스 열린 포트 확인 : http://thisisspear.tistory.com/6?category=807970


java.sql.SQLInvalidAuthorizationSpecException :

id, pw를 확인하여 주시고 혹시 로그인을 시도하는 id가 루트 계정이 아닌지 확인해주시기 바랍니다.

루트계정으론 로그인이 불가능합니다.






IDE(Integrated Development Environment, 통합 개발 환경)

IDE 단어가 뜻하는 그대로 소스 코드의 편집, 컴파일, 디버깅을 한꺼번에 할 수 있는 통합 개발 환경이다. 자바 응용 프로그램 개발에 현재 가방 많이 사용되고 있는 IDE는 이클립스이다. 이클립스는 IBM에 의해 만들어진 오픈소스 소프트웨어이므로 무료로 다운로드하여 사용할 수 있다.



이클립스 다운로드

다운로드 사이트 - http://www.eclipse.org/downloads/








'Hello World!' 출력하기

이클립스를 실행시켜 File -> new -> JavaProject 를 선택해 줍니다.




Project name에 만들고 싶은 프로젝트의 이름을 넣어주신 뒤 Finish버턴을 눌러줍니다. 저는 오늘 날짜로 프로젝트를 만들어 보았습니다.




왼쪽에 보이는 src폴더 모양에 마우스 오른쪽 클릭 후 New - Class 를 선택해 줍니다.




Name에 원하는 클래스 명을 입력해 주시고, 빨간색으로 표시해둔 체크박스에 체크 후 Finish 버튼을 눌러줍니다.




아래와 같은 코드를 입력 후 Ctrl+F11번을 누른 후 OK를 눌러줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
 
public class Ex01 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        System.out.println("Hello World!");
 
    }
 
}
 

cs




지금까지 자바 개발 환경을 구축해 보았습니다.


JDK(Java Development Kit, 자바 개발 도구)

자바 개발자에게 무료로 배포하는 소프트웨어로, 자바프로그래밍을 할 때 필요한 컴파일러 등이 포함됐다. JDK내에 JRE도 포함되어 있기에 JDK만 설치하면 JRE도 설치된다.


JRE(Java Runtime Environment, 자바 실행 환경)

자바를 실행시킬 수 있는 자바환경, 자바 프로그램을 실행하기위한 라이브러리 파일들과 자가 가상 기계를 포함한다.


다운로드 주소 - http://www.oracle.com/technetwork/java/javase/downloads/index.html



+ Recent posts