반응형

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

+ Recent posts