#1
// 1$ = 1100원
import java.util.*;
public class Ex2_1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("원화를 입력하세요(단워 원) >> ");
float won = scan.nextInt();
float dollar = won/1100;
System.out.print(won+"은 "+"$"+dollar+"입니다.");
scan.close();
}
}
|
#2
import java.util.*;
public class Ex2_2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("2자리수 정수 입력(10~99) >> ");
int num = scan.nextInt();
if (num/10 == num%10){
System.out.print("Yes! 10의 자리와 1의 자리가 같습니다.");
}
else {
System.out.print("10의 자리와 1의 자리가 같지 않습니다.");
}
scan.close();
}
}
|
#3
import java.util.*;
public class Ex2_3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("금액을 입력하시오 >> ");
int amount = scan.nextInt();
int num;
if(amount>=50000){
num = amount/50000;
System.out.println("오만원권 "+num+"매");
amount -= 50000*num;
}
else{
System.out.println("오만원권 없음");
}
if(amount>=10000){
num = amount/10000;
System.out.println("만원권 "+num+"매");
amount -= 10000*num;
}
else{
System.out.println("만원권 없음");
}
if(amount>=1000){
num = amount/1000;
System.out.println("천원권 "+num+"매");
amount -= 1000*num;
}
else{
System.out.println("천원권 없음");
}
if(amount>=100){
num = amount/100;
System.out.println("백원 "+num+"개");
amount -= 100*num;
}
else{
System.out.println("백원 없음");
}
if(amount>=50){
num = amount/50;
System.out.println("오십원 "+num+"개");
amount -= 50*num;
}
else{
System.out.println("오십원 없음");
}
if(amount>=10){
num = amount/10;
System.out.println("십원 "+num+"개");
amount -= 10*num;
}
else{
System.out.println("십원 없음");
}
if(amount>=1){
System.out.println("일원 "+amount+"개");
}
else{
System.out.println("일원 없음");
}
scan.close();
}
}
|
#4
Scanner 클래스로 정수 3개를 입력받고 3개의 숫자 중 중간 크기의 수를 출력하라.
import java.util.*;
public class Ex2_4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("정수 3개를 입력하세요 : ");
int a=scan.nextInt();
int b=scan.nextInt();
int c=scan.nextInt();
int max=0;
int middle=0;
int last=0;
if(a>b){
max=a;
middle=b;
}
else{
max=b;
middle=a;
}
if(c>max){
middle=max;
max=c;
}
else{
if(c>middle){
middle = c;
last = middle;
}
}
System.out.println("중간 값은 : " + middle);
scan.close();
}
}
|
입력한 정수 3개 즉, 중간값으로 나올 수 있는 값의 갯수는 3개
a>b -- b>c : 중간값 b
-- b<c -- a>c : 중간값 : c
-- a<c : 중간값 : a
//sol 2
System.out.print("정수 3개 입력>>");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
if((a<b && b<c)||(c<b && b<a)) {System.out.print("중간 값은"+b+"입니다.");}
else if((b<a && a<c)||(c<a && a<b)) {System.out.print("중간 값은"+a+"입니다.");}
else {System.out.print("중간 값은"+c+"입니다.");}
|
#5
Scanner를 이용하여 삼각형의 변의 길이를 나타내는 정수를 3개 입력받고 이 3개의 수로 삼각형을 만들 수 있는지 판별하라. 삼각형이 되려면 두 변의 합이 다른 한 변의 합보다 커야한다.
import java.util.*;
public class Ex2_5 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("정수 3개를 입력하세요>> ");
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
int max = 0;
// 3개의 정수 중 가장 큰 정수 max 구하기
if(a>=b && a>=c){
max=a;
if(max<b+c){
System.out.print("삼각형이 될 수 있습니다.");
}
else{
System.out.print("삼각형이 될 수 없습니다.");
}
}
else if(b>=a && b>=c){
max=b;
if(max<a+c){
System.out.print("삼각형이 될 수 있습니다.");
}
else{
System.out.print("삼각형이 될 수 없습니다.");
}
}
else{
max=c;
if(max<b+a){
System.out.print("삼각형이 될 수 있습니다.");
}
else{
System.out.print("삼각형이 될 수 없습니다.");
}
}
scan.close();
}
}
|
sol2 : 될 수 없는 경우를 조건으로 하면 나머지 경우는 삼각형을 만들 수 있음
if((a+b<c)||(b+c<a)||(c+a<b)){
System.out.print("삼각형이 될 수 없습니다.");
}
else{
System.out.print("삼각형이 될 수 있습니다.");
}
|
#6
369게임을 간단히 작성해보자. 1~99까지의 정수를 입력받고 정수에 3,6,9 중 하나가 있는 경우는 "박수짝"을 출력하고 두 개 있는 경우는 "박수짝짝"을 출력하는 프로그램을 작성하라. 예를 들면 키보드로 입력된 수가 13인 경우 "박수짝"을, 36인 경우 "박수짝짝"을 출력하면 된다.
import java.util.*;
public class Ex2_6 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("1~99 사이의 정수를 입력하세요 : ");
int num = scan.nextInt();
int cnt=0;
int a=num/10;
int b=num%10;
if((a%3==0)){
cnt++;
}
if((b%3==0)){
cnt++;
}
switch ((cnt)) {
case 1:
System.out.print("박수짝");
break;
case 2:
System.out.print("박수짝짝");
break;
default:
System.out.print("pass");
break;
}
scan.close();
}
}
|
오류 : 한자리수를 입력했을 때 10의 자리수가 없어서 (10의자리)%3=0으로 인식해서 한자리수를 입력하더라도 "박수짝 출력"
sol 2 : 두자리 수일때만 10의 자리 수가 3의 배수인지 확인
import java.util.*;
public class Ex2_6 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("1~99 사이의 정수를 입력하세요 : ");
int num = scan.nextInt();
int cnt=0;
int a=num/10;
int b=num%10;
if(num>10){
if((a%3==0)){
cnt++;
}
}
if((b%3==0)){
cnt++;
}
switch ((cnt)) {
case 1:
System.out.print("박수짝");
break;
case 2:
System.out.print("박수짝짝");
break;
default:
System.out.print("pass");
break;
}
scan.close();
}
}
|
#7
2차원 평면에서 직사각형은 왼쪽 상단 모서리와 오른쪽 하단 모서리의 두 점으로 표현한다. (100,100)과 (200,200)의 두 점으로 이루어진 사각형이 있을 때, Scanner를 이용하여 정수 x와 y 값을 입력받고 점 (x,y)가 이 사각형 안에 있는지 판별하는 프로그램을 작성하라.
import java.util.*;
public class Ex2_7 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("점 (x,y)의 좌표를 입력하시오>>");
int x = scan.nextInt();
int y = scan.nextInt();
if((x<=200 && x>=100) && (y<=200 && y>=100)){System.out.println("("+x+","+y+")는 직사각형 안에 있습니다.");}
else{System.out.println("("+x+","+y+")는 직사각형 안에 없습니다.");}
scan.close();
}
}
|
#9
원의 중심을 나타내는 한 점과 반지름을 실수 값으로 입력받아라. 그리고 실수 값으로 다른 점 (x,y)를 입력받아 이 점이 원의 내부에 있는지 판별하여 출력하라.
import java.util.*;
public class Ex2_9 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("원의 중심과 반지름 입력(실수)>>");
float cx = scan.nextFloat();
float cy = scan.nextFloat();
float radius = scan.nextFloat();
System.out.print("점 입력>>");
float x = scan.nextInt();
float y = scan.nextInt();
if(((cx-x)*(cx-x)+(cy-y)*(cy-y))<=radius*radius){
System.out.print("점 ("+x+","+y+")는 원 안에 있다.");
}
else{System.out.print("점 ("+x+","+y+")는 원 안에 없다.");}
scan.close();
}
}
|
한 점이 원의 내부에 있는 경우
원의 중심 : (cx, cy), 임의의 좌표 : (x,y)
>> (cx-x)^2+(cy-y)^2 <= radius^2인 경우 그 점은 원 안에 있다.
#11
숫자를 입력받아 3~5는 "봄", 6~8은 "여름", 9~11은 "가을", 12,1,2의 경우 "겨울"을, 그 외 숫자를 입력한 경우 "잘못입력"을 출력하는 프로그램을 작성하라.
import java.util.*;
public class Ex2_11 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("달을 입력하세요(1~12)>>");
int month = scan.nextInt();
switch (month) {
case 3:
case 4:
case 5:
System.out.print("봄");
break;
case 6:
case 7:
case 8:
System.out.print("여름");
break;
case 9:
case 10:
case 11:
System.out.print("가을");
break;
case 12:
case 1:
case 2:
System.out.print("겨울");
break;
default:
System.out.print("잘못입력");
}
scan.close();
}
}
|
'Language > JAVA' 카테고리의 다른 글
[명품 JAVA programming] CHAPTER 4 클래스와 객체 (0) | 2023.03.19 |
---|---|
[명품 JAVA programming] CHAPTER 3 반복문과 배열 그리고 예외 처리(실습문제) (0) | 2023.02.24 |
[명품 JAVA programming] CHAPTER 3 반복문과 배열 그리고 예외 처리 (0) | 2023.02.19 |
[명품 JAVA programming] CHAPTER 2 자바 기본 프로그래밍 (0) | 2023.02.10 |
[명품 JAVA programming] CHAPTER 1 자바 시작(실습문제) (0) | 2023.02.10 |