while(i-- != 0) {
System.out.println(i+"I can do it!");
}
//아래와 같다.
while(i != 0) {
i--;
System.out.println(i+"I can do it!");
}
import java.util.*;
class digitsum {
public static void main(String[] args) {
int num = 0, digitsum = 0;
System.out.print("숫자를 입력하세요.(예:12345)>");
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine();
num = Integer.parseInt(tmp);//tmp를 숫자 정수로 변환!
while(num!=0) {//num=12345->1234->123->12->1->0이되면서 while문 탈출
digitsum += num%10;//sum=5->5+4->5+4+3->5+4+3+2->5+4+3+2+1
System.out.printf("sum=%d num=%d%n",digitsum,num);
num /= 10;//num=1234->123->12->1->0
}
System.out.printf("각 자리수의 합:%3d",digitsum);
}
}
: 블럭{}을 최소한 한 번 이상 반복한다.=>사용자 입력을 받을 때 유용하다. 단, while문 끝에 ';' 잊지 않도록 주의한다!
//사용자에게 숫자를 입력받아서 숫자 맞추는 코드
import java.util.*;
class Ex4_15 {
public static void main(String[] args) {
int input = 0, answer = 0;
answer = (int)(Math.random()*100) +1;
System.out.println("anser="+answer);
Scanner scanner = new Scanner(System.in);
do {
System.out.print("1부터 100사이의 정수를 입력하세요.>");
input = scanner.nextInt();
if(input > answer) {
System.out.println("더 작은 수를 입력하세요 ");
} else if(input < answer) {
System.out.println("더 큰 수를 입력하세요");
}
} while(answer!= input);
System.out.println("정답입니다! ");
}
}
while 문으로 바꿨을 경우 입력을 받는 코드가 2번이상 중복되기 때문에 좋지 않다.