위를 출력하기.

 

1~10까지 출력하고 줄을 바꾸고

2~11까지 출력하고 줄을 바꾸고.

.

.

.

10개의 행

 

for ( int n=1 ; n<=10 ; n++) {  

for ( int m=n ; m<=n+9; m++){

System.out.printf("%3d", m);

}

System.out.println();  //10개의 행 출력.

}

 

1개의 행에는 10개의 수가 있음. 첫번째수와 마지막수의 차이는 9.

 

ex;

** 2단 **

2 * 1 = 2

2 * 2 = 4

.

.

.

2 * 9 = 18

---------

** 3단 **

3 * 1 =3

.

.

.

 

분석 : 2~9단까지 8번 반복

2 가 출력될때 1~9까지 9번 반복.

총 72번이 반복되어야함.

 

int dan, n;

for (dan=2; dan<10; dan++) {

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

for (n=1; n<10; n++){

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

}

System.out.println("-------");

}

for (int i=1; i<=3; i++) {

System.out.println("i:"+i);  // 이 print문은 i=1, i=2, i=3 일때가 나오므로 총 3번이 나옴.

for(int j=1; j<=i; j++) {

System.out.println("i:"+I+", j:"+j); // 이 print문은 i=1일 때 1번, i=2 일 때 2번, i=3일때 3번 나옴.

} // 즉 i=1일때 for 1번 실행, i=2일때 for 2번 실행 ...

System.out.println("--------"); // 이 print문은 i=1, i=2, i=3 일때가 나오므로 총 3번이 나옴.

}

1~100까지 홀수합

int s=0;

for (int n=1; n<=100; n+=2) {

s+=n;

}

for (초기식 ; 조건 ; 증가식) {}

초기식이 조건을 만족하면 {}를 실행하고 증가한다.

 

1~100까지 짝수합

int s=0;

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

s+=n;

}

1~100까지 3의 배수의 합

int s=0;

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

s+=n;

}

 

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은 적어도 한번은 실행한다!

+ Recent posts