int s;

s=0;

for (int n=0; n<100; n++) {

s+=n;

}

n은 0이고 (시작) n이 100미만이면 n을 +1하고, s에 n을 더한다.

이것을 while로 쓰면

int s, n;

s=n=0;

while (n<100) {

n++;

s+=n;

}

이렇게 된다.

'난수'란 ? 임의의 수.

Math.random() : 0<=난수<1 사이의 난수를 발생. (실수)

Math.random() * 100; 0<=수<100 // 

int n;

int cnt;

 

cnt=0;

while(cnt<100) {

cnt=0;

n = (int)(Math.random() * 100) + 1;  // +1을해야 1부터 100까지임.

 

if(cnt%10==0){

System.out.println();

}

}

출력은 한 줄에 10개씩.

단, 입력 받은 수가 2~9 이외의 수는 다시 입력하기.

int input;

int s,n;

s=1;

n=0;

Scanner sc = new Scanner(System.in);

System.out.print("단 ?");

 

do {

input=sc.nextInt();

}while (input<2 || input>9);

 

while (n<9){

n++;

s=input*n;

System.out.println("%d * %d = %d\n", input, n, s)

}

int dan, n;

 

do {

System.out.print("단 ? ");

dan.sc.nextInt();

} while (dan<2||dan>9);

n=0;

while(n<9) {

n++;

System.out.printf("%d * %d = %d\n", dan, dan*n);

}

 

while은 처음조건이 false면 한도 while안을 실행하지 않는다.

do while은 적어도 한번은 실행한다!

int n, s;

n=s=0;

 

while (s<100) {

n++;

s+=n;

}

System.out.printf("n = %d, s = %d\n", n, s);

===============================================

do{

n++;

s+=n;

} while(s<100);

System.out.printf("n = %d, s = %d\n", n, s);

===============================================

 

복습

제어문

while문
-형식
while(조건식) {
실행문;
}

- 조건식의 결과는 반드시 true 또는 false (boolean이어야 한다.)
- 처음 조건식이 거짓이면 한번도 실행하지 않음 
- 조건식이 만족할 때 수행되는 실행문이 한 개인 경우에는 ({})생략 가능.
- while(true)와 같이 조건식을 true로 설정하면 무한 루프.
- while문 안에 또 다른 while문이나 다른 반복문 사용 가능.

입력받은 값이 

예를 들어 

100라면 3자리 정수이다.

10으로 3번 나눗셈을 하게되면

0.100 이것은 int에 저장하지 못해 0이 된다.

따라서 입력받은 값이 0이 아니면 계속 나누기 10을 해주고

나누기를 한번 해줄 때마다 n에 1을 더해준다.

 

합이 100이상이되는 최소의 수를 구하기 위해서 s<100

s<=100이면 100이상이 되는 두번째 수이다. 

최소의 수는 n으로 카운팅을 하고

합의 경우

홀수면 더하기 짝수면 빼기 이므로 

if (n%2==0) {

s+=-n;

} else {

s+=n;

}

으로 준다.

++

1부터 시작이고 2는 빼고 3는 더하고를 반복해야하므로. 

 

+ Recent posts