⑥ int형 변수 year가 400으로 나눠 떨어지거나 또는 4로 나눠 떨어지고 100으로 나눠 떨어지지 않을 때 true인 조건식
year % 400 == 0 || year % 4 == 0 && year % 100 !== 0
나누어 떨어지려면 나머지가 0인 것을 확인하면 된다.
⑦ boolean형 변수 powerOn이 false일 때 true인 조건식
powerOn == flase
//또는
!powerOn
⑧ 문자열 참조변수 str이 "yes"일 때 true인 조건식
str.equal("yes")
//또는
"yes".equal(str)
문자열을 비교할 때는. equal() 메소드를 사용한다.
[4️⃣-2️⃣]
1부터 20까지의 정수 중에서 2 또는 3의 배수가 아닌 수의 총합을 구하시오.
package jokun.standardOfJava.chap04;
public class Ex4_2 {
public static void main(String[] args){
int sum = 0;
for(int i = 1; i <= 20; i++) {
if (i % 2 != 0 && i % 3 != 0) {
System.out.println(i);
sum += i;
}
}System.out.println("합계 : " + sum);
}
}
[4️⃣-3️⃣]
1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하시오.
package jokun.standardOfJava.chap04;
public class Ex4_3 {
public static void main(String[] args) {
int sum = 0;
int total = 0;
for(int i = 1; i <= 10; i++){
sum += i;
total += sum;
}
System.out.println("정답 : " + total);
}
}
1+(-2)+3+(-4)+... 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100 이상이 되는지 구하시오.
package jokun.standardOfJava.chap04;
public class Ex4_4 {
public static void main(String[] args) {
int num = 0;
int sum = 0;
int s = 1;
for(int i = 1; sum < 100; i++, s = -s){ //1부터 합계가 100이 될 때까지 i는 증가하고 s값 1은 +였다가 -였다가 반복한다.
num = s * i; // 어차피 1은 곱해도 i값이기에, i값에 -,+부호만 붙여준다.
sum += num; // 합친 값이 100이 되는지 확인
System.out.println("i값 : " + i + ", s값 : " + s + " ===> num값 : " + num);
}
System.out.println("num : " + num);
System.out.println("sum : " + sum);
}
}
…
s값 부호 바뀌는 원리
조건식으로 이렇게 써도 가능!
for(int i=1;true; i++, s=-s)
sum += num;
if(sum >=100) // 총합이 100보다 같거나 크면 반복문을 빠져 나간다.
break; }
[4️⃣-5️⃣]
다음의 for문을while문으로 변경하시오.
package jokun.standardOfJava.chap04;
public class Ex4_5 {
public static void main(String[] args) {
int i = 0;
while(i <= 10){
int j = 0;
while (j <= i){
System.out.print("*");
j++;
}
System.out.println();
i++;
}
}
}
[4️⃣-6️⃣]
두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프 로그램을 작성하시오.
package jokun.standardOfJava.chap04;
public class Ex4_6 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 6; i++){
for(int j = 1; j <= 6; j++){
sum = i + j;
if(sum == 6){
System.out.println("합이 6이 되는 경우 : 주사위1(" + i + ") + 주사위2(" + j +")");
}
}
}
}
}
sum이라는 변수 안만들어도 가능!
class Exercise4_6 {
public static void main(String[] args) { for(int i=1;i<=6;i++)
for(int j=1;j<=6;j++) if(i+j==6)
System.out.println(i+"+"+j+"="+(i+j));
} // main }
[4️⃣-7️⃣]
숫자로 이루어진 문자열 str이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라 만일 문자열이"12345"라면, ‘1+2+3+4+5’의 결과인 15를 출력이 출력되어야 한다. (1)에 알맞은 코드를 넣으시오.
[Hint] String클래스의 charAt(int i)을 사용
package jokun.standardOfJava.chap04;
public class Ex4_7 {
public static void main(String[] args) {
String str = "12345";
int sum = 0;
for (int i = 0; i < str.length(); i ++){
char c = str.charAt(i);
int num = Character.getNumericValue(c);
sum += num;
System.out.println(num);
}
System.out.println("sum = " + sum);
}
}
더 간단하게도 가능!
class Exercise4_7 {
public static void main(String[] args) {
String str = "12345";
int sum = 0;
for(int i=0; i < str.length(); i++) {
sum += str.charAt(i) - '0';
}
System.out.println("sum="+sum); }
}
sum 변수에다가 바로 String형을 char형으로 변환한 i에 - '0'를 빼줌으로서 문자를 숫자로 변환한 값을 바로 저장하여 +=로 누적한다.
[4️⃣-8️⃣]
Math.random()을 이용해서 1부터 6사이의 임의의 정수를 변수 value에 저장하는 코드를 완성하라. (1)에 알맞은 코드를 넣으시오.
package jokun.standardOfJava.chap04;
public class Ex4_8 {
public static void main(String[] args) {
int value = (int)(Math.random() * 6) + 1;
System.out.println("value:" + value);
}
}
Math.random() 메소드는 0.0~1.0 범위에 속하는 double형의 값을 랜덤으로 반환해주기 때문에 정수형으로 바꾸기 위해서 형변환을 실시해줘야한다.
[4️⃣-9️⃣]
int타입의 변수 num이 있을 때 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라.
만일 변수num의 값이 12345라면, ‘1+2+3+4+5’의 결과인 15를 출력하라.
(1)에알맞은 코드를 넣으시오.
[주의] 문자열로 변환하지 말고 숫자로만 처리해야 한다.
package jokun.standardOfJava.chap04;
public class Ex4_9 {
public static void main(String[] args) {
int num = 12345;
int sum = 0;
while(num > 0){
sum += num % 10;
System.out.print("sum 값 : " + sum);
num /= 10;
System.out.println(" / num 값 : " + num);
}
System.out.println("sum = " + sum);
}
}
[4️⃣-🔟]
다음은 숫자맞추기 게임을 작성한 것이다. 1과 100사이의 값을 반복적으로 입력 해서 컴퓨터가 생각한 값을 맞추면 게임이 끝난다. 사용자가 값을 입력하면, 컴퓨터는 자 신이 생각한 값과 비교해서 결과를 알려준다. 사용자가 컴퓨터가 생각한 숫자를 맞추면 게임이 끝나고 몇 번 만에 숫자를 맞췄는지 알려준다. (1)~(2)에 알맞은 코드를 넣어 프로그램을 완성하시오.