5! 구하기 

 

10 ! = 10*9*7*6*5*4*3*2*1 을 의미한다.

 

int n, s, input;

 

System.put,print("양수 ? ");

input=sc.nextInt();

 

n=1;

s=0;

while(n<=input){

s+=n;

n+=2;

} System.out.println("결과 : " +s);

== 

while(n<=input){

n+=2;

s+=n;

} System.out.println("결과 : " +(s+1));

n 에 먼저 2를 해주게 되면 1의 값은 더하지 않고 3부터 입력한 수까지의 홀수를 더하므로 마지막에 (s+1)을 해줘야함.

 

 

밑에 주석은 처음 풀어보라고 했을 때 

적어 놨던 건데 while 뒤를이상하게 했음. 뭔 생각으로 저렇게했는지 감이안잡히는군..

n=s=0;
while(n++ <10) { // 10번 반복
s+=n; 
}

n을 먼저 사용한 후에 n+1 이므로 즉 0~9까지 10번

n=s=0;
while(++n < 10) { // 9번반복
s+=n;
}

n+1을 한 후에 그 값을 사용하므로 1~9까지 9번

n=s=0;
while(++n <= 10) { // 10번반복
s+=n;
}

n+1을 한 후에  1~10까지 10번

 

따라서 헷갈리는 경우가 많으므로 while 조건문에는 ++ 연산은 주의하자!

한 문자를 입력 받아 입력 받은 문자의 ASCII 코드 값을 출력. 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

Q 0706_Ex01_if / Ex02_if : 입력받은 정수의 홀짝/짝 구분  (0) 2021.07.06
0706_복습  (0) 2021.07.06
0705_Ex17_Operator  (0) 2021.07.06
0705_Ex16_Operator  (0) 2021.07.06
0705_Ex15_Operator  (0) 2021.07.06

오늘은 이것저것 진도를 많이(?)나갔다. 

Scanner는 키보드의 입력을 받게 해준다.

위에 import java.util.Scanner;이 들어가 있어야 된다. 

사용자의 이름, 나이, 성별, 키를 입력받아 표시하도록 해보았다.

키보드로 입력을 받아 화면에 표시하는 것을 배웠다.

마지막에는 sc.close(); 를 꼭 붙여야 함.

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex04_Literal  (0) 2021.07.04
0702_Ex03_DataType  (0) 2021.07.04
0702_Ex02_Scanner.java  (0) 2021.07.04
0701_Java print문  (0) 2021.07.03
0701개강 첫 날_Java Print문  (0) 2021.07.02

System.out.printf("%x\n", 437);

System.out.printf("%X\n", 437);

%x 와 %X 모두 437을 16진수로 표현하라는 의미. 알파벳을 소문자로, 대문자로 하냐의 차이이다.

System.out.printf("%#X\n", 437);

%X 사이에 붙은 #는 출력된 값이 16진수 임을 표현해주는 값.

System.out.printf("%#8X\n", 437);

8칸을 할당한다.

System.out.printf(%o\n", 10);

%o는 8진수로 값을 표현하라는 의미이다.

System.out.printf("%c\n", '\u0041');

<<문자열(여러 개, 공백가능)을 나타낼 때 큰 따옴표"" 사용>> c는 문자의 의미. 

<<문자(한 개, 공백불가)를 나타낼 때 작은 따옴표'' 사용>>

'\u0041' 은 유니코드의 0041에 해당하는 문자를 나타낸다. 

%c %C는 소문자 대문자의 차이.

 

소문자s는 대문자를 소문자로 바꾸지는 않는다.

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

대문자S는 소문자를 대문자로 바꿔준다.

System.out.printf("%S\n", "korea);

System.out.printf("%10.3s\n", "korea");

10칸을 할당하고 3개만 표시해라(왼쪽부터)

 

숫자 3개 마다 콤마를 자동으로 붙인다.

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

 

System.out.printf("%c %c %c %c %c\n", 'a', 'b', 'b', 'a', 'b');

System.out.printf("%1$c %2$c %2$c %1$c %2$c\n", 'a', 'b');

1$는 뒤에 첫 번째 있는 것을 할당한다는 의미.

따라서 두 문장의 실행값은 같다.

 

위에 문장들을 실행한 결과. 

8진수도 표현해주고 싶어서 #를 넣어보았다.

012 라고 뜸. 아마 이게 8진수로 표현했다는 표시인건가?

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

0702_Ex04_Literal  (0) 2021.07.04
0702_Ex03_DataType  (0) 2021.07.04
0702_Ex02_Scanner.java  (0) 2021.07.04
0702_Ex01_Scanner.java  (0) 2021.07.03
0701개강 첫 날_Java Print문  (0) 2021.07.02

+ Recent posts