Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 객체지향
- IBatis CRUD
- 연산자
- 고급자바
- 코딩
- Java
- 동적 버튼 onclick
- ListSort
- 기초
- 계산기
- Thread
- 조건문
- IBatis 게시판
- MAP
- oclick 동적
- io
- 동적 버튼 생성
- 자바
- 동적 문자열
- Comparable
- 동적 데이터
- 변수선언
- 변수
- 쓰레드
- 변수초기화
- 객체
- iBatis
- comparator
- I/O
- enum
Archives
- Today
- Total
Jun's Blog
[Java] 조건문, 반복문 (예제 풀이 및 해답) 본문
ex1) 다음 문장들을 조건식으로 표현하라
(1) int형 변수 x가 10보다 크고 20보다 작을 때 true인 조건식
int x = 15;
if((10< x)&&(x <20)) {
System.out.println(x);
}
-> 20 < x <10
-> ((20 < x) && (x <10))
(2) char형 변수 ch가 공백이고 탭이 아닐 때 true인 조건식
char ch = 'v';
if((ch=='') && (ch!='\t')){
System.out.println(ch);
}
-> ch는 공백 그리고 ch는 탭이 아닐때
-> ch=='' and ch!= '\t'
->(ch=='') && (ch!='\t')
(3) char형 변수 ch가 'x' 또는 'X'일 때 true인 조건식
char ch = 'x';
if(ch == 'x') || (ch == 'X'){
System.out.println(ch);
}
-> ch == 'x' 또는 ch == 'X'
(4) char형 변수 ch가 숫자('0' ~ '9')일 때 true인 조건식
char ch = '2';
if((ch >= '0') && (ch <= '9')) {
System.out.println(ch);
}
-> '0' <= ch <= '9'
-> '0'<=ch && ch <= '9'
-> ch는 '0'과 '9'사이에 포함되어야 하기 때문에
(5) char형 변수 ch가 영문자(대문자 또는 소문자)일 때, true인 조건식 boolean형 변수 powerOn이 false일 때, true인 조건식
boolean powerOn = false;
if(!powerOn){
System.out.println(powerOn);
}
-> powerOn 변수가 false이고 조건식에서 !powerOn이 되어야지
-> 밑에 실행문이 실행이 된다.
(6) 문자열 참조변수 str이 "yes"일 때 true인 조건식
String str = "yes";
if("yes".equals(str)){
System.out.println(str);
}
ex2) 다음의 for문을 while문으로 변경하시오.
//정답
int dan = 2
while(dan<10){
int gob = 1;
while(gob<10){
System.out.println(dan + " * " + gob + " = " + dan*gob);
gob++;
}
dan++;
}
ex3) 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하는 프로그램을 작성하시오
for (int num1 = 1; num1 <7; num1++){
for(int num =1; num <7; num++){
if (num1+num==6){
System.out.println("("+num1 + "," + num + ")");
}
}
}
System.out.println();
ex5) 방적식 2x+4y = 10의 모든 해를 구하시오.
단, x와 y는 정수이고 각각의 범위는 0<=x<=10, 0<=y<=10이다.
for(int x = 0; x < 11; x++){
for(int y = 0; y <11; y++) {
if(2*x+4*y==10){
System.out.println("x:" + x + " y:" + y);
}
}
}
System.out.println();
ex6) 사용자로부터 두개의 정수(시작,끝)를 입력받아 시작(포함)해서 끝(포함)까지의 곱을 출력하는 프로그램을 작성하시오.
Scanner sc = new Scanner(System.in);
System.out.println("첫 번째 숫자를 입력하세요");
int input = sc.nextInt();
System.out.println("두 번째 숫자를 입력하세요");
int input1 = sc.nextInt();
int sum2 = 1;
if (input < input1) {
for (int num = input; num < input1+1; num++) {
sum2 *= num;
}
} else if (input1 < input) {
for (int num = input1; num < input+1; num++) {
sum2 *= num;
}
} else {
sum2 = input;
}
System.out.println("곱해주면 답은 " + sum2 + " 입니다");
ex7) 1 + (1+2) + (1+2+3+) + ... + (1+2+3+...+10)의 결과를 계산하시오.
// 초기값 : 1, 끝 : 10, 증가량 : 1, 반복구분 : sum1 += ?;
int sum1 = 0;
for(int num =1; num <11; num++){
for(int num1 = 1; num1 <num+1; num1++){
sum1 += num1;
}
}
System.out.println(sum1);
ex8) 1 + (-2) + 3 + (-4) + ... 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100 이상이 되는지 구하시오.
int sum11 = 0; //총합 저장 변수
int num = 0;
while(true){
num++;
if(num%2==0){
sum11 -= num;
}else {
sum11 += num;
}
if(sum11 >= 100){
break;
}
}
System.out.println(num);
ex9) 사용자로부터 입력받은 정수의 각 자리의 합을 더한 결과를 출력하는 프로그램을 작성하시오.
예를 들어, 사용자가 53263을 입력하였다면 결과는 19가 되어야 한다.
Scanner sc = new Scanner(System.in);
System.out.println("값을 입력해주세요");
int input = sc.nextInt();
int sum = 0;
while(input > 0) {
sum += input % 10;
// 예를 들어서 사용자가 123을 입력을 했다면 나누기 해서 나온 나머지 값을 summ에 저장한다
input /= 10;
// 사용자가 입력한 값에서 나누기 10을 해야 나머지 몫이 나오는데
//위와 같이 나머지 나온 값을 계속 반복실행 해서 더하면 된다.
}
System.out.println("결과는 " + sum + " 입니다.");
ex10) 피보나치(Fibonnaci) 수열은 앞을 두 수를 더해서 다음 수를 만들어 나가는 수열이다. 예를 들어 앞의 두 수가 1과 1이라면 그 다음 수는 2가 되고 그 다음 수는 1과 2를 더해서 3이 되어서 1,1,2,3,5,8,13,21,... 과 같은 식으로 진행된다. 1과 1부터 시작하는 피보나치 수열의 10번째 수는 무엇인지 계산하는 프로그램을 작성하시오.
int num1 = 1;
int num2 = 1;
int num3 = 0;
System.out.print(num1 + "," + num2);
for(int i =0; i<8; i++){
num3 = num1 + num2;
num1 = num2;
num2 = num3;
System.out.print(","+num3);
}
문제 출처 : 자바의 정석에서..
'Java' 카테고리의 다른 글
[Java] 계산기 프로그램 (0) | 2020.09.29 |
---|---|
[Java] 객체지향 프로그래밍 - 1 (0) | 2020.09.26 |
[Java] 배열 (Array) (0) | 2020.09.17 |
[Java] 반복문 (for문, while문, do-while문) <계산기> (0) | 2020.09.16 |
[Java] 조건문 (if문, switch문) <학점계산기> (0) | 2020.09.12 |
Comments