FIF's 코딩팩토리

자바 기초 NCS교육과정(29)-Math 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(29)-Math

FIF 2019. 7. 31. 16:34
반응형
Math클래스

java.lang.Math 클래스

Math 클래스는 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스이다.

 

Math 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다.

 

이러한 Math 클래스는 java.lang 패키지에 포함되어 제공된다.

 

-> 클래스에서 static키워드가 선언된 멤버변수, 메소드를 호출할때
  import static을 선언하면 클래스명 없이 바로 멤버변수, 메소드를 호출 할 수 있다.

 

Java134_Math.java

public class Java134_Math {

	public static void main(String[] args) {
		System.out.println(Math.PI);//원주율
		System.out.println(Math.max(10, 20));//최대값
		System.out.println(Math.min(10, 20));//최소값
		System.out.println(E);
		System.out.println(sqrt(25));
		System.out.println(pow(2,2));
	}

}

출력결과

 

Java135_Math.java

public class Java135_Math {

	
	public static void main(String[] args) {
		double ran=random(); //0.0이상 1.0미만 사이의 난수 발생
		System.out.println(ran);
		
		//0.0~10.0미만 사이의 난수 발생
		ran=ran*10;
		System.out.println(ran);
		
		//소수 이하는 버리고 0~10미만을 리턴
		int num=(int)(floor(ran));
		//floor(버림)(double-double로 반환)   round(반올림)(인자값이 float이면 int double이면 long으로 반환)
		System.out.println(num);
		
		System.out.println((int)(-7.8));//소수점 앞자리 정수값
		System.out.println(floor(-7.1));//인자 이하의 가장큰 정수값
	}
}

출력결과

 

Java136_Math.java

 

난수를 이용해서 소수점 첫째자리까지 반올림해서 구하시오.
  ex)0.5689.....=>5.7

public class Java136_Math {

	public static void main(String[] args) {
		double ran = random();
		System.out.println(ran);
		System.out.printf("%.1f\n",ran*10);
		
		ran*=100;
		System.out.println(ran);
		long data = round(ran);
		System.out.println(data);
		double num = data/10.0;
		System.out.println(num);
		
	}

}

출력결과

 

Java137_Random.java

public class Java137_Random {

	public static void main(String[] args) {
		Random ran=new Random();
		double r1=ran.nextDouble();
		System.out.println(r1);
		
		int r2=ran.nextInt();
		System.out.println(r2);
		
		//0부터 ~10미만
		int r3 = ran.nextInt(10);
		System.out.println(r3);
		
		//1부터 ~10까지
		System.out.println(r3+1);
	}

}

출력결과

 

Java138_Math.java

 

num배열에 1부터10까지의 값을 중복없이 저장하는 프로그램을 구현

public class Java138_Math {

	public static void main(String[] args) {
		int[] num = new int[5];
		for(int i=0;i<num.length;i++) {//난수발생
			num[i]=(int)(Math.random()*10)+1;
			for(int j=0;j<i;j++) {//중복체크
				if(num[i]==num[j]) {
					i--;
					break;
				}
			}
		}
		for(int data:num)
			System.out.println(data);
	}

}

출력결과

 

 

반응형
Comments