상세 컨텐츠

본문 제목

[Java] 자바 기본 문제풀이 & 연습풀이

1 a n G u a g e /JAVA

by 동혼 2019. 7. 3. 07:52

본문

 

--------------------------------------------------

 

연습풀이

 

--------------------------------------------------

 

 

 

 

package java0701;

public class Exam01 {

public static void main(String[] args) {
int num;
num = 0;
int num2 = 2;
// 연산자는 우선순위가 중요하다


System.out.println(num + num2);
System.out.println(1 + 2.0);
// 정수 + 실수 하면 오차를 없애기위해 정수를 실수타입으로 변화시킨다
System.out.println(1 + 2.0f);
// 2.0f를 붙여 메모리를 줄인다

double d = 0.1234, e = 1234E-4;

// e=1234E-4; 와 d 는 같은 의미
System.out.println(d + e);

System.out.println(true && true);
System.out.println(true && false);
System.out.println(true || false);

// 타입케스트 (형변환)
System.out.println(5 / 4);
System.out.println(5 / 4.0);
System.out.println(5 / 4.000);
// 정수끼리 연산하면 정수만 나오고, 소수로 하면 소수끝까지 다 표현된다
// 자바에선 / 연산자는 몫을 구하는 연산자 인데 실수로 사용하면 그냥 실수 계산이 전부 나온다

System.out.println(5.0 / 4.0);
System.out.println(5.0 % 4.0);
System.out.println(5 % 4);

System.out.println((int) (5.0 / 4.0));


// 증감연산자
num = 1;
System.out.println(++num);  //결과 2  (a)

num = 1;
System.out.println( (num++) + 1 );  //2  (b)

num = 1;
System.out.println( 1 + (num++) );  //2  (c)
/* a와 b , c 가 괄호를 사용하였는데도 결과값이 다른 이유는 

a는 증감연산자가 사용된 후에 출력되기에 num자체가 변화하였고

b, c는 출력된후에 num 이 변한 것이다.

num자체의 값은 둘이 동일하나 사용되는 경우가 다르니 주의하자 

*/
System.out.println( num +1  );

num = 1;
System.out.println(num++ + 1);  //2

num = 1;
System.out.println(++num + 1);  //3
}

}

 

 

 

 

 

 

 

--------------------------------------------------

 

반지름이 x 인 원의 넓이 구하는 프로그램

 

--------------------------------------------------

 

package java0701;

public class Exam03 {

public static void main(String[] args) {
// 반지름이 5 인 원의 넓이
double r = 5;
final double Pi = 3.14;

System.out.println(r * r * Pi);

System.out.println(r * r * Math.PI);
}

}

/*

리터럴 숫자 중에 고정된 값 ex 파이 같은 경우에는

함수를 사용하여 불러 올 수 도 있고

final 이라는 명명어를 사용하여 고정시킬 수 도 있다

*/

 

--------------------------------------------------

 

평년 윤년 계산 프로그램 

 

--------------------------------------------------

 

package java0701;

public class Exam04 {
public static void main(String[] args) {
// LeapYear
// 평년 백년에 한 번씩 - / 윤년 사백년에 한 번씩
// 사년마다 한 번씩 윤년


int year = 2020;
// 2000 y, 1700 p, 2016 y, 2020 y , 1900p , 2400, 2100, 2019 p

 

sol1 ) 

 

if (year % 4 == 0) {

    if (year % 100 == 0) {

        if (year % 400 == 0) 
             System.out.println(year + "은400년 마다 한 번씩은 윤년");

        else 
             System.out.println(year + "은 100년 마다 한 번씩 평년");


}

    else 
         System.out.println(year + "은 4년 마다 한 번씩은 윤년");


else 
System.out.println(year + "은 평년");

 

 

 

sol2 ) 

 

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) 
    System.out.println(year + "은 윤년");
else 
    System.out.println(year + "은 평년");

 

 


sol3 ) 
  
   if ( year%400 == 0 )

System.out.println(year + "은 400 윤년"); 
return ;

  if ( year%100 == 0 )
  {
   System.out.println(year + "은 100 평년"); 
   return; 
  } 
  if ( year%4 == 0 )
  {
   System.out.println(year + "은 4 윤년"); 
   return; 
  }
  

 

 

--------------------------------------------------

 

book

java programming

p110

// 원화를 입력하면 달러 환율과 계산한 값을 출력해주는 프로그램

// 10~99사이의 숫자를 입력하면, 십의자리와 일의자리가 같은지 다른지를 판별해주는 프로그램

--------------------------------------------------

 

package java0701;

import java.util.Scanner;

public class BookP110 {

public static void main(String[] args) {

System.out.println("1");
Scanner sc = new Scanner(System.in);
System.out.println("원화 입력 >> ");
double money = sc.nextDouble();
double Dollar = 1100;

money/=Dollar;
System.out.println(money + " 는  $" + money + "입니다 ");

//System.out.println(money + " 는  $" + money/Dollar + "입니다 ");


System.out.println("2");

System.out.println("10~99 사이의 정수 입력 >> ");
money = sc.nextInt();

if ( money%10 == money/10 ) {
System.out.println("10의 자리와 1의 자리가 같습니다 ");
}
else {
System.out.println("10의 자리와 1의 자리가 다릅니다");
}



}

 

 

 

--------------------------------------------------

 

book

java programming

p111

// 369 게임

100미만의 숫자를 입력하여

3 , 6 , 9 중 한개면 박수를 한 번, 두개면 박수를 두번 치는 프로그램 

만약 아무것도 없을 경우 숫자만 출력한다

 

--------------------------------------------------

 

 

System.out.println("6번 ");
Scanner sc = new Scanner(System.in);
System.out.println("정수 입력 >> ");
int ans= sc.nextInt();

int a= ans / 10 ;
int b= ans % 10;

if ( a%3==0 && b%3==0 && a!=0 && b!= 0){
System.out.println(" 짝짝  ");
}
else if (( a!=0 && a%3==0) || (b!=0 && b%3==0)) {
System.out.println(" 짝  ");
}
else {
System.out.println( num  );
}

 

 

--------------------------------------------------

 

book

java programming

p111

// 

 

좌표를 입력할 시

(100,100) 과 (200,200) 의 좌표를 가진 사각형안에 있는지를 확인해주는 프로그램

 

 

--------------------------------------------------

 


System.out.println("7번 ");
System.out.println("x,y 좌표 입력 >> ");
int x= sc.nextInt();
int y= sc.nextInt();

if ((x>=100 && x<=200) && ( y>=100 && y <= 200) ) {

System.out.println("(" + x + "," + y +")" + "는 사각형 안에 있다");
}

else {
System.out.println("(" + x + "," + y +")" + "는 사각형 안에 없다");
}

 

 

 

 

--------------------------------------------------

이상이다 

 

 

관련글 더보기

댓글 영역