본문 바로가기
IT 개발/JAVA

JAVA (3일차) - 반복분

by Love of fate 2019. 6. 15.
728x90
반응형

JAVA (3일차) - 반복분

 

* 반복문 (for, while, do ~ while)

 

package com.day3;
 
import java.util.Scanner;
 
class Test1 {
    
    public static void main(String[] args)     {
 
        //반복문 (for, while, do ~ while)
        //for 시작과 끝값이 정해져있을때!! 
        //while 끝값이 정해져있지 않거나, 끝 값을 모를때
        //do~while 일단 실행을 진행!! 결과를 보고 반복할지 판단하여 결정.
 
        Scanner sc = new Scanner(System.in);
 
        int dan ;
 
        System.out.print("단 입력"); // 7
        dan = sc.nextInt();
 
        //for(초기(시작)값;최대값(조건);증가값)
 
        for(int i=1;i<=9;i++) { //i++ = i+1
 
            System.out.println(dan + "*" + i + "=" + (dan*i));
 
        }
 
        System.out.println("-------------------------");
 
        //while(조건)
 
        int j = 0//while문은 초기값을 일반적으로 0으로 줌.
 
        while(j<9) { //while문엔 "=" 잘 안씀.
 
            j++;
            System.out.println(dan + "*" + j + "=" + (dan*j));
 
        }
 
        System.out.println("-------------------------");
 
 
 
        //do{~}while(조건문);
 
        int k = 0;
 
        do{//일단 저지름. 한번은 무조건 실행해됨.
 
            k++;
            System.out.println(dan + "*" + k + "=" + (dan*k));
 
 
        }while(k<9);//조건에 맞추어 보고 반복할지 결정.
 
 
        System.out.println("-------------------------");
 
        sc.close(); 
        //Sacnner는 Stream (데이터와 데이터간의 통로)이라서 Close 하지 않거나 값을 null로 만들지 않으면,
        //나중에 쓰레기 값이 생겨 다시 실행할때 쓰레기값때문에 오류가 남.
        //Sacnner는 자체적으로 값을 null로 만들기 때문에 close 하지 않아도 괜찮다. 
 
        //무한루프 (조건에 부합되서)
 
        // while(true){
 
        // System.out.println("나 돌아간다.");
 
        // }
 
    }
}
 

*실행 결과

단 입력2
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
-------------------------
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
-------------------------
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
-------------------------

---------------------------------------------------------------------------------------------------------------------------------

package com.day3;
 
 
class Test2 {
    public static void main(String[] args) throws IOException {
        // Exception > IOException , 
        // 예외처리부분에 뭘 넣어야 할지 생각이 안날때 Exception을 쓰면 됨.
 
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        int su, sum;
        char ch;
 
        while (true) {
 
            do {
 
                System.out.print("수 입력"); // 100enter
                su = Integer.parseInt(br.readLine()); // 엔터전까지 읽음.
 
            } while (su < 1 || su > 5000);
 
            sum = 0;
            // 1-su까지의 합계
            for (int i = 1; i <= su; i++) {
 
                sum = sum + i; // sum+=i
                // 쓰레기 값은 연산도 안됨.
            }
            // 출력
            System.out.println("1~" + su + " 까지의 합:" + sum);
 
            // 계속 실행 여부
            System.out.print("계속 할래?[Y/N]");
            // Y,y,N,n 물어보고 Y,y인식하여 Y, y가 아니면 멈추기.
            ch = (charSystem.in.read();
 
            if (ch != 'Y' && ch != 'y') {
                // 양쪽의 값이 부정일 땐 &&(and)로 코딩해야한다.
                // y enter 치면 in.read는 문자 1개만 읽어들여 엔터만 남게됨.
 
                break;
 
            }
 
            System.in.skip(2);
            // 남아있는 걸 몽땅 지워버려라 enter는 ASCII값이 2개다
            // 10, 13 그래서 두개 모두 지우기 위해 ()안에 2를 입력한다. (13 = /n)
 
        }// end-while
 
    }
 
}

 

* 실행 결과

수 입력6
1~6 까지의 합:21
계속 할래?[Y/N]Y
수 입력7
1~7 까지의 합:28
계속 할래?[Y/N]

---------------------------------------------------------------------------------------------------------------------------------

 

 

728x90
반응형

'IT 개발 > JAVA' 카테고리의 다른 글

poi 라이브러리 / Excel DB 적재  (0) 2020.01.14
Date 관련 클래스  (0) 2019.08.13
JAVA (2일차) - 기초 다지기  (0) 2019.06.13
JAVA (1일차) - 기초 다지기  (0) 2019.06.13
JDBC 1일차 (DB 연동, 삽입, 수정, 삭제)  (0) 2019.01.31