반응형

3.2> 키보드로부터 임의의 문자를 입력 받고 그 문자보다 알파벳 순위가 낮은 모든 문자를 출력하는 프로그램을 작성하라. 예를 들어 ‘e’를 입력 받았으면 그 결과는 다음과 같다.


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
package HW1_JAVA;
import java.io.*// InputStreamReader 를 사용 하기 위해 패키지 import
class Printing_alphabet{  // 클래스 선언
    void print_alpha(int num)  //메소드 선언, argument는 int형 변수 num
    {
        if(num<=97)  //97은 'a'의 아스키 코드 값이다.
            System.out.printf("%c",num); //'a'만 있으면 'a'만 출력
        else
            {for(int i=97;i<=num;(i)++// 'a'의 아스키 코드 값 97
            { //'a'부터 시작해서 어떤 알파벳의 아스키 코드 값으로 i가 증가할 때까지 루프 실행
                System.out.printf("%c ",i); //'a'부터 하나씩 출력
            }
            System.out.println(); //개행문자로 라인을 구분해준다.
            print_alpha(num-1); //recursive function 으로 반복하였습니다.
            }}}
 
public class LowerAlphabet {
    public static void main(String[] args) {
        InputStreamReader rd = new InputStreamReader(System.in); 
        //InputStreamReader 클래스의 오브젝트 생성 및 그것을 가리키는 레퍼런수 변수 rd
        Printing_alphabet p = new Printing_alphabet();
        //Printing_alphabet 클래스의 오브젝트 생성 및 그것을 가리키는 레퍼런스 변수 p
        try{
            System.out.print("알파벳 한 문자를 입력하세요>>"); 
        int a=rd.read(); //인트형 변수 a에 문자르르 하나 읽어 아스키 코드 값으로 넣어줌
        p.print_alpha(a); // print_alpha 메소드 실행
        }
        catch(IOException e){ //입출력 동작 실패 또는 인터럽트시 실행되는 부분
            System.out.println("입력 오류 발생");
        }}}
 
cs



반응형

'컴퓨터 & 프로그래밍 & 전자공학 > JAVA' 카테고리의 다른 글

2차원 배열  (0) 2017.06.18
정수 오름차순 정렬기  (0) 2017.06.18
직사각형 충돌  (0) 2017.06.18
윤년 판별기  (0) 2017.06.18
삼각형 만들기  (0) 2017.06.18
반응형

2.8> 2차원 평면에서 하나의 직사각형은 두 점으로 표현된다. (50, 50)(100, 100)의 두 점으로 이루어진 직사각형이 있다고 하자. 이때 키보드로부터 다른 직사각형을 구성하는 두 점 (x1. y1), (x2, y2)를 입력 받아 두 개의 직사각형이 서로 충돌하는지(겹치는지) 판별하는 프로그램을 작성하라.


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
package HW1_JAVA;
import java.util.Scanner// 스캐너 클래스의 경로 명이 java.util.Scanner
class Dot{ //Dot class 선언
    void testing_dot(int x1,int y1,int x2,int y2){ //testing_dot 메소드 선언 int형변수 x1,y1,x2,y2
        if(((x1>=50&&x1<=100)&&(y1>=50&&y1<=100))|| //x1이 50이상 100이하이고 y1이 50이상 100이하 혹은
        ((x2>=50&&x2<=100)&&(y2>=50&&y2<=100))|| //x2가 50이상 100이하 y2가 50이상 100이하 혹은
        ((x1<=50&&y1<=50)&&(x2>=100&&y2>=100))) //x1과 y1이 50이하이고 x2와 y2가 100이상
        System.out.println("사각형이 겹칩니다."); // 이면 사각형이 겹친다.
        else // 이외의 경우 사각형이 겹치지 않는다라는 string을 출력
            System.out.println("사각형이 겹치지 않습니다.");
    }}
public class Rectangle {  //Rectangle 클래스 선언
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in); //레퍼런스 변수 s와 Scanner 클래스의 객체 생성
        Dot d=new Dot(); //레퍼런스 변수 d와 Dot 클래스의 객체 생성
        int x1,y1,x2,y2; //int형 변수 x1,y1,x2,y2 생성
        while(true){ //무한루프
        System.out.print("두점 (x1,y1), (x2,y2)의 좌표를 입력하세요>>(9999 4번 입력시 종료)");
        x1=s.nextInt(); y1=s.nextInt(); x2=s.nextInt(); y2=s.nextInt(); 
//x1,y1,x2,y2를 인트형으로 입력해줌
        if(x1==9999&&x2==9999&&y2==9999&&y1==9999)break
// x1,y1,x2,y2가 모두 9999일시 루프 탈출
        d.testing_dot(x1, y1, x2, y2);} //Dot class의 객체를 가리키는 d를 통해 testing_dot 메소드 호출
}}
 
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > JAVA' 카테고리의 다른 글

정수 오름차순 정렬기  (0) 2017.06.18
하위 문자 모두 출력하기  (0) 2017.06.18
윤년 판별기  (0) 2017.06.18
삼각형 만들기  (0) 2017.06.18
369 게임  (0) 2017.06.18
반응형

2.5>Scanner를 이용하여 정수를 3개 입력 받고 이 3개의 수로 삼각형을 만들 수 있는지를 판별하라. 삼각형이 가능하려면 두 변의 합이 다른 한 변의 합보다 반드시 커야 한다.


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
package HW1_JAVA; //패키지 이름
import java.util.Scanner// 스캐너 클래스의 위치
class triangle{    //triangle class 선언
    void make(int a, int b, int c){ //make 메소드, argument int형 변수 a,b,c
        int ar[]=new int[3]; int temp=0//int형 변수 ar[]선언(크기3), int형 변수 temp 선언및 초기화
        ar[0]=a;ar[1]=b;ar[2]=c; //배열 ar의 각 원소 초기화
        for(int i=0;i<3;i++)  //선택 정렬 알고리즘
        {
            for(int j=i+1;j<3;j++// 배열의 첫번째 원소부터 시작해 각각 한번씩 전부 비교한 후
            {// 뒤에 원소 크기가 피비교되는 원소보다 크면 둘의 자리를 바꿔준다
                if(ar[i]<ar[j])//다만 바로 바꿔주면 변수의 값 하나가 사라져 버리므로
                {            // 빈 물컵(temp)을 이용해 값을 교환해준다.
                    temp=ar[i];
                    ar[i]=ar[j];
                    ar[j]=temp;}}}
        if((ar[0]==0)||(ar[1]==0)||(ar[2]==0)) //변의 길이에 0을 입력한 경우 처리
            System.out.println("변의 길이는 0이 될 수 없습니다.");
        else if(ar[0]<ar[1]+ar[2]) // 삼각형의 형성 조건에 부합한 경우
            System.out.println("삼각형 세 변의 길이가 될 수 있습니다.");
        else //삼각형을 만들지 못한 경우
            System.out.println("삼각형 생성 불가능!!");
    }}
public class MakeTriangle {
    public static void main(String[] args) {
        int x=0int y=0int z=0;  //int 형 변수 x,y,z 선언 및 초기화
        Scanner s=new Scanner(System.in); // 레퍼런스 변수 s 와 Scanner 클래스의 오브젝트 생성
        triangle m=new triangle();//레퍼런스 변수 m과 triangle 클래스의 오브젝트 생성
        while(true){ // 무한 반복
        System.out.println("정수 3개를 입력하세요(-1 -1 -1은 종료)>>");
        x=s.nextInt(); y=s.nextInt(); z=s.nextInt(); //x,y,z를 int형으로 입력해준다.
        if((x==-1)||(y==-1)||(z==-1)) break// x,y,z가 -1일 경우 while문 탈출
        m.make(x, y, z);} //m이가리키는 오브젝트 내의 make 메소드 호출
    }}
 
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > JAVA' 카테고리의 다른 글

정수 오름차순 정렬기  (0) 2017.06.18
하위 문자 모두 출력하기  (0) 2017.06.18
직사각형 충돌  (0) 2017.06.18
윤년 판별기  (0) 2017.06.18
369 게임  (0) 2017.06.18
반응형


2.4> 369게임을 간단히 작성해보자. 1~99까지의 정수를 키보드로부터 입력 받고 정수에 3,6,9 중 하나가 있는 경우는 박수짝을 출력하고 두 개 있는 경우는 박수짝짝을 출력하는 프로그램을 작성하라. 예를 들면, 키보드로 입력된 수가 13인 경우 박수짝, 36인 경우 박수짝짝을 출력하면 된다.



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
package HW1_JAVA; //패키지 이름
import java.util.Scanner// 스캐너 클래스의 경로 명이 java.util.Scanner
class tsn{
    public void game(int num)
    {
        int t=num/10int o=num%10//t=num을 10으로 나눈 몫 o=num을 10으로 나눈 나머지
        if(((t%10==3)||(t%10==6)||(t%10==9))&&((o%10==3)||(o%10==6)||(o%10==9)))
        { // 10으로 나눴을 때 t와 o가 3이나 6이나 9가 동시에 나왔을 때 박수짝짝 출력
            System.out.println("박수짝짝");
        }
        else if(((t%10==3)||(t%10==6)||(t%10==9))||((o%10==3)||(o%10==6)||(o%10==9)))
        { // 10으로 나눴을 때 t와 o가 3이나 6이나 9가 둘중 하나만 나왔을 때 박수짝 출력
            System.out.println("박수짝");
        }
        else //이외의 경우 노우 박수~ 출력
            System.out.println("노우 박수~");
    }
}
public class threesixninegame {
    
    public static void main(String[] args) {
        int num=0//int형 변수 num 생성
        tsn b=new tsn(); //tsn 클래스인 레퍼런스 변수 b 와 객체 생성
        Scanner a=new Scanner(System.in); // Scanner class인 레퍼런스 변수a 와 객체 생성
        while(true// 무한 반복
        {
        System.out.print("1~99 사이의 정수를 입력하시오(-1은종료)>>"); // 스트링 출력
        num=a.nextInt(); //num에 int type 입력받아 리턴
        if(num==-1)break// num에 -1이 들어가면 while 루프를 빠져나온다.
        b.game(num); // b.game 메소드 호출
        }
    }}
 
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > JAVA' 카테고리의 다른 글

정수 오름차순 정렬기  (0) 2017.06.18
하위 문자 모두 출력하기  (0) 2017.06.18
직사각형 충돌  (0) 2017.06.18
윤년 판별기  (0) 2017.06.18
삼각형 만들기  (0) 2017.06.18

+ Recent posts