반응형
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=0; int y=0; int 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 |