float은 계산시 오차가 발생할 수 있기 때문에 메소드 타입을 String값으로 변환해서 보여준다.
int 범위에 있는 것만 곱하기
float reuslt = safeMultiplay(1100000,-222222);
public static String safeMultiply(int num1, int num2) {
String wrongResult = "NaN" ;
if (num1 > 0 ) {
if (num2 > 0 ) { //num1, num2 모두 양수
if (num1 > Integer.MAX_VALUE / num2) { //(num1 * num2 > Integer.MAX_VALUE)
return wrongResult;
}
} else { //num1은 양수, num2는 음수 // 음수나오니까 min_value보다 작으면 안됌
if (num2 < Integer.MIN_VALUE / num1 ) { //(num1 * num2 < Integer.MIN_VALUE )
return wrongResult;
}
}
} else { // num1 <= 0
if (num2 > 0 ) { //num1은 음수, num2는 양수
if (num1 < Integer.MIN_VALUE / num2) { //(num1 * num2 < Integer.MIN_VALUE)
return wrongResult;
}
} else { //num1, num2 모두 음수인 경우
if (num1 < Integer.MAX_VALUE / num2 ) { //(num1 * num2 > Integer.MAX_VALUE )
return wrongResult;
}
}
}
return String.valueOf(num1 * num2) ;
}
// 숫자 랜덤
자바스크립트에서는 Math,floor()로 소수점을 없앴는데, 자바는 casting이 가능해서
(int) 강제 형변환 해준다.
1~3까지 뽑음
(int)(Math.random()*3)+1;
String[] grades = {"A","a","B","b","C","c"};
int num = (int)(Math.random()*6);
String result = grades[num];
//result 값 랜덤으로 나옴
switch(result) {
case "A" :
case "a" :
System.out.println("우수 회원입니다.");
break;
case "B" :
case "b" :
System.out.println("일반 회원입니다.");
break;
default :
System.out.println("손님입니다.");
}
참고 : switch문 안에 넣을 수 있는 타입은 byte , short , char , int , String
float 값은 정확한 값이 안나오기 때문에 for문에 쓰지 않는다
for(float i = 0; i<1; i = i+0.1F) {
System.out.println(i);
}
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.70000005
0.8000001
0.9000001
//1부터 100까지 중의 홀수의 합
//2로 나눴을 때 1 남으면 홀수
int oddSum = 0;
for(int i=1;i<=100;i++) {
if(i%2==1) {
oddSum = oddSum + i;
}
}
System.out.println(oddSum);
//문제2: 1~100까지의 수 중에서 5의 배수의 합
int five=0;
for(int j=1;j<=100;j++) {
if(j%5==0) {
five = five + j;
}
}
System.out.println(five);
//문제3: 구구단 6단
for(int m=1;m<=9;m++) {
System.out.printf("6 X %d = %d",m,6*m);
System.out.println();
}
System.out.println();
//문제4 : 전체 구구단 1~9단
for(int n=1;n<=9;n++) {
for(int k=1;k<=9;k++) {
System.out.printf("%d X %d = %d",n,k,n*k);
System.out.println();
}
System.out.println();
}
'Development (국비 복습 ) > 자바' 카테고리의 다른 글
[2023-03-17]NullPointException,String메소드,인코딩,배열 (0) | 2023.03.17 |
---|---|
[2023-03-16]입력값을 받는 Scanner객체, String객체,Null (0) | 2023.03.16 |
[2023-03-14]연산자,캐스팅 (0) | 2023.03.14 |
[2023-03-13]메모리 구조(heap,stack영역), 기본타입 (0) | 2023.03.13 |
[2023-09-09]DOM,노드추가 방법 (0) | 2023.03.09 |
댓글