티스토리 뷰
※[JAVA] 세 개의 숫자 정렬
○ 실습 문제
사용자로부터 임의의 정수 세 개를 입력받아 작은 수에서 큰 수 순으로 출력하는 프로그램을 구현한다.
단, 입력 데이터를 한번에 처리할 수 있도록 구성하며 『xor』 연산자를 활용하여 스왑 처리를 할 수 있도록 한다.
import java.util.Scanner;
public class Test037
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
int a, b, c; //-- 사용자가 입력하는 임의의 정수를 담을 변수
System.out.print("임의의 세 정수 입력(공백 구분) : ");
a = s.nextInt();
b = s.nextInt();
c = s.nextInt();
// 1. 첫 번째 정수가 두 번째 정수보다 크다면...
// 두 정수의 자리를 바꾼다.
if(a>b)
{
a = a^b;
b = b^a;
a = a^b;
}
// 2. 두 번째 정수가 세 번째 정수보다 크다면...
// 두 정수의 자리를 바꾼다.
if(b>c)
{
b = b^c;
c = c^b;
b = b^c;
}
// 3. 첫 번째 정수가 두 번째 정수보다 크다면...
// 두 정수의 자리를 바꾼다.
if(a>b)
{
a = a^b;
b = b^a;
a = a^b;
}
System.out.printf("\n>> 정렬 결과 : %d %d %d\n",a,b,c);
}
}
※실행결과
/*
임의의 세 정수 입력(공백 구분) : 13 25 11
>> 정렬 결과 : 11 13 25
계속하려면 아무 키나 누르십시오 . . .
*/
'국비지원Study > Java' 카테고리의 다른 글
[JAVA] 해당날짜의 요일구하기 (0) | 2019.03.09 |
---|---|
[JAVA] 별찍기(피라미드,역파리미드,다이아몬드) (0) | 2019.03.09 |
[JAVA] 소수판별하기 (0) | 2019.03.09 |
[JAVA] 알파벳 대소문자 변환 (0) | 2019.03.09 |
[JAVA] 윤년구하기 (0) | 2019.03.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자료구조
- 국비지원
- 책리뷰
- 무료강의
- 블로그관리
- C
- 전공
- 알고리즘
- 반복문
- It
- 리액트
- 초보개발자
- Nomad Coders
- 개발자
- 별찍기
- 인스타그램 클론
- Tistory
- Git
- 배열
- 전문대
- React
- Python
- 자바
- 설치방법
- 노마드코더
- Velopert
- highlight.js
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함