열린 포트 확인하기

# netstat -tnlp 




호스트의 열린 포트 확인하기

 # namp localhost




특정 호스트의 열린 포트 확인하기

 # nc -z 호스트주소(ip or 도메인) 포트




'Linux' 카테고리의 다른 글

PHP Warning: session_start() 에러  (0) 2018.07.15
리눅스 열린 포트 확인  (0) 2018.07.11

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


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가 루트 계정이 아닌지 확인해주시기 바랍니다.

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




+ Recent posts