반응형
 
 

👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇

 

GitHub - gayulz/StudyHistory: 나의 공부 기록 commit

나의 공부 기록 commit . Contribute to gayulz/StudyHistory development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

전일 공부 정리

1. 공통된 룰 ( 규칙 ) 을 찾는 게 중요하다.

2. 찾은 규칙을 가지고 코드화를 해야한다

3. 문제 해결이 될 때까지 끊기지 않는 집중력과 끈기를 길러야 한다.

4. 반복문은 초기 값을 설정하고 특정 조건을 지정한 뒤 반복할 코드를 작성하고 초기값이 점점 증감 또는 증가하며 조건을 만족할 때까지 반복하는 문이다

5. 증감식이나 증가식이 누락되거나 for문안에 종료되는 조건이 만족하지 않는 실행문이 있을 경우 무한 루프에 빠질 수 있다

 

 

 

 

 

 

 

 

Scanner 함수

import java.utill.Scanner or import java.utill.* 이 필요한 메서드이다

java.utill이라는 자바 내장 라이브러리에 있는 메서드를 사용하기 위해 import 연결해줘야 한다.

입력과 사용방법  

1. Scanner (변수명) = new Scanner(System.in);

  키보드로 입력받을 저장 공간을 Scanner메서드를 사용하여 공간을 미리 할당 (new저장공간 확보)

2. (자료형) (변수명) = (Scanner변수명). next(자료형)();

 

예시 : 

Scanner in = new Scanner(System.in);

in이라는 Scanner 공간을 확보

int num1 = in.nextInt();

num1이라는 변수공간에 키보드 입력값을 대입시킴

 

간단한 계산기 (더하는 계산기 만들기)


package for2way;  
  
import java.util.Scanner;  
  
public class Study {  
    public static void main(String[] args) {  
        Scanner in = new Scanner(System.in);  
        System.out.println("더하는 계산기");  
        System.out.print("첫번째 숫자 입력 : ");  
        int num1 = in.nextInt();  
        System.out.print("두번째 숫자 입력 : ");  
        int num2 = in.nextInt();  
        System.out.println("덧셈 결과  : " + (num1+num2) );  
    }  
}

 

 

 

 

 

 

 

 

실습 과제 1

public class Task01 {
    public static void main(String[] args) {
        // 문제 1 : 100부터 999까지의 숫자중에서 홀수만 출력하시오.

        for (int i = 100; i <1000 ; i++) {
            if (i % 2 == 1){
                System.out.println(i);
            }
        }
    }
}

 

 

 

 

 

 

 

실습 과제 2

public class Task02 {
    public static void main(String[] args) {
        // 문제 2 : 1부터 100까지 숫자중에서 홀수의 총합을 구하시오
        
        int tot = 0;
        for (int i = 0; i <=100; i++) {
            if(i%2==1){
                tot+=i;
            }
        }
        System.out.println(tot);
    }
}

 

 

 

 

 

 

 

실습 과제 3

public class Task03 {
    public static void main(String[] args) {
        // 문제 3 : 다음과 같이 출력하시오 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
        

        for (int i = 10; i > 0 ; i--) {
            System.out.print(i + " ");
        }
    }
}

 

 

 

 

 

 

실습 과제 4

public class Task04 {
    public static void main(String[] args) {
        // 문제 4 : 범인 숫자 구하기
        //         범인은 100부터 999까지 숫자중에 여러명이다
        //         범인의 특징은 숫자의 각자리수에 더한 값이 짝수이다.
        //         범인의 숫자를 모두 찾으시오
        

        for (int i = 100; i <1000 ; i++) {
            int n1 = i%10;
            int n10 = (i/10)%10;
            int n100 = (i/10)/10;
            if ((n1+n10+n100)%2==0){
                System.out.println(i);
            }
        }
    }
}

 

 

 

 

 

 

 

실습 과제 5

public class Tesk05 {
    public static void main(String[] args) {
        // 문제 5 : 키보드로 숫자를 입력받아 홀 짝 인지 판별하시오
        
        
        Scanner in = new Scanner(System.in);
        System.out.print("숫자를 입력하세요 : ");
        int numBer = in.nextInt();
        if (numBer % 2 == 0){
            System.out.println("\n짝수 입니다.");
        }else{
            System.out.println("\n홀수 입니다.");
        }
    }
}

 

 

 

 

 

 

 

실습 과제 6

public class Tesk06 {
    public static void main(String[] args) {
        // 문제 6 : 키보드로 숫자 2개를 입력받아 서로의 차를 구하는 프로그램을 작성하시오
        
        
        Scanner in = new Scanner(System.in);
        System.out.print("숫자1번을 입력하세요 : ");
        int num1 = in.nextInt();
        System.out.print("숫자2번을 입력하세요 : ");
        int num2 = in.nextInt();
        System.out.println("숫자1번과 2번의 차 : " + (num1-num2));
    }
}

 

 

 

 

 

 

 

실습 과제 7

public class Tesk07 {
    public static void main(String[] args) {
        // 문제 7 : 키보드로 입력받아 업 다운 게임하기
        //         정답까지 반복 해야한다 . 정답시 종료
        
        
        int com = 45;
        Scanner in = new Scanner(System.in);
        System.out.println("게임을 시작합니다.");
        System.out.print("1부터 100사이의 숫자를 입력하세요 : ");
        for (int i = 0; i < 1; i++) {
            int nowNum = in.nextInt();
            if (nowNum > 0 && nowNum <= 100){
                if (com>nowNum){
                    System.out.print("업 . 다시입력하세요 : ");
                } else if (com<nowNum) {
                    System.out.print("다운 . 다시입력하세요 : ");
                } else {
                    System.out.println("정답입니다.\n프로그램이 종료됩니다");
                    break;
                }
            } else {
                System.out.print("1부터 100까지 숫자로 다시 입력하세요 : ");
            }
            i-=1;
        }
    }
}

 

 

 

 

 

 

실습 과제 8

public class Tesk08 {
    public static void main(String[] args) {
        // 문제 8번 : 코드를 분석하여 a문자열에 a가 몇개 있는지 구하는 프로그램을 작성하세요


        String test = "abcdeabce";
        int cnt = 0;
        for (int i = 0; i < 9; i++) {
            char aaa=test.charAt(i);
            if (aaa == 'a') {
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}

 

 

 

 

 

 

 

실습 과제 9

public class Test09 {
    public static void main(String[] args) {
        /*
        문제 9 : 어떤 자연수 n이 있을때, d(n)을 n의 각 자릿수 숫자들과 n 자신을 더한 숫자라고 정의하자
        예를 들어, d(91) = 9 + 1 + 91 = 101
        이때 , n을 d(n)의 제너레이터(generator)라고 한다, 위의 예시에서 91은 101의 제너레이터이다
        어떤 숫자들은 하나 이상의 제너레이터를 가지고 있는데
        101의 제너레이터는 91 뿐만 아니라 100도 있다.
        그런데 반대로, 제너레이터가 없는 숫자들도 있으며 이런 숫자들을 인도의 수학자 Kapreka가 셀프넘버(self-nember)라 이름 불렀다
        예를들어 1.3.5.7.9.20.31은 셀프 넘버들이다
        1 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하라
        
        아직 배우지 않은 부분은 사용하지않기 ( for문과 if문으로만 해결하기 )
        */



        int cnt = 0;
        int bIn = 0;
        for (int i = 1; i <= 5000; i++) {
            for (int j = 0; j <=i ; j++) {
                int num1000 = j/1000;
                int num100 = (j%1000)/100;
                int num10 = ((j%1000)%100)/10;
                int num1 = ((j%1000)%100)%10;
                int sigleNum = num1+num10+num100+num1000+j;
                if (i == sigleNum) {
                    bIn = sigleNum;
                }
            }
            if ( i != bIn ){
                cnt+=i;
            }
        }
        System.out.println(cnt);
    }
}

 

 

 

 

 

 

 

실습 과제 10

public class Test10 {
    public static void main(String[] args) {
        // 문제 10 : a는 터널이다 가장 긴 터널의 길이를 구하시오
        
        
        
        String ttt ="aabbbaabaaddbabaaabaabaabbaaaaa";
        int cnt = 0;
        int max = 0;
        for (int i = 0; i < ttt.length(); i++) {
            char tt = ttt.charAt(i);
            int bin;
            if (tt == 97 ) {
                cnt++;
            } else {
                if (cnt > max) {
                    bin = cnt;
                    max = bin;
                }
                cnt=0;
            }
        }
        System.out.println(max);
    }
}

 

 

 

 

반응형
유리쯔의일상