반복제어문을 통해 동일한 코드를 여러번 타이핑할 필요없이 반복실행할 수 있다.
반복제어문에는 for문과 while문이 있다.
for문의 기본형식
for(초기식; 조건식; 증감식)
{
반복실행할 문장;
}
다음과 같이 무한루프로 사용할 수도 있다.
for( ; ; )
{
반복실행할 문장;
}
문제) for문을 이용하여 출력하는 프로그램
(출력할 때 사용하는 변수는 i 만 사용)
실행결과) 1
2
3
4
5
12345
package sample;
public class Sample
{
public static void main(String[] args)
{
int i;
for( i=1; i<=5; i++)
{
System.out.println(i);
}
for( i=1; i<=5; i++)
{
System.out.print(i);
}
}
}
문제) for문을 이용하여 출력하는 프로그램
(숫자는 오른쪽정렬로)
실행결과) 1부터 1까지의 합 : 1
1부터 2까지의 합 : 3
1부터 3까지의 합 : 6
1부터 4까지의 합 : 10
1부터 5까지의 합 : 15
1부터 6까지의 합 : 21
1부터 7까지의 합 : 28
1부터 8까지의 합 : 36
1부터 9까지의 합 : 45
1부터 10까지의 합 : 55
package sample;
public class Sample
{
public static void main(String[] args)
{
int i, sum = 0;
for( i=1; i<=10; i++)
{
sum += i;
System.out.printf("1부터 %2d까지의 합 : %2d\n", i, sum);
}
}
}
문제) for문을 이용하여 출력하는 프로그램
(숫자 사이공간은 탭을 이용)
실행결과) 1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1
package sample;
public class Sample
{
public static void main(String[] args)
{
int i;
for( i=1; i<=10; i++)
{
System.out.println(i+"\t"+(11-i));
}
}
}
문제) 10이하의 정수를 입력받아 정수만큼 "JAVA 프로그래밍" 이라고 출력하는 프로그램
입력예) 5
출력예) JAVA 프로그래밍
JAVA 프로그래밍
JAVA 프로그래밍
JAVA 프로그래밍
JAVA 프로그래밍
package sample;
import java.util.*;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i;
int a = scn.nextInt();
if(a>0 && a<11)
{
for( i=1; i<=a; i++)
{
System.out.println("JAVA 프로그래밍");
}
}
else
{
System.out.print("입력값이 잘못되었습니다.");
}
}
}
문제) 대문자를 'A'부터 'Z'까지 출력하는 프로그램
(for문으로 char타입변수 1개만 사용)
출력예) ABCDEFGHIJKLMNOPQRSTUVWXYZ
package sample;
public class Sample
{
public static void main(String[] args)
{
int i;
char a = 'A';
for( i=a; i<='Z'; i++)
{
System.out.printf("%c",i);
}
}
}
문제) 1부터 20까지의 홀수를 차례대로 출력하는 프로그램
출력예) 1 3 5 7 9 11 13 15 17 19
package sample
public class Sample
{
public static void main(String[] args)
{
int i;
for( i=1; i<=19; i++)
{
if(i%2!=0)
{
System.out.print(i+" ");
}
}
}
}
문제) 정수를 입력받아 1부터 입력받은 수까지의 합을 출력하는 프로그램
입력예) 10
출력예) 55
package sample;
import java.util.*;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, sum = 0;
int a = scn.nextInt();
if(a>1)
{
for( i=1; i<=a; i++)
{
sum += i;
}
System.out.print(sum);
}
else
{
System.out.print("입력값이 잘못되었습니다.");
}
}
}
문제) 정수를 입력받아 입력받은 정수부터 100까지의 합을 출력하는 프로그램 (100이하 정수만 입력받는다 가정)
입력예) 95
출력예) 585
package sample
import java.util.*;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, sum = 0;
int a = scn.nextInt();
for( i=a; i<=100; i++)
{
sum += i;
}
System.out.print(sum);
}
}
문제) 10개의 정수를 입력받아 그 수들 중 짝수의 개수가 몇개인지 출력하는 프로그램
입력예) 15 22 3 129 66 81 35 1 46 888
출력예) 입력받은 짝수는 4개입니다.
package sample;
import java.util.*;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, a, cnt = 0;
for( i=1; i<=10; i++)
{
a = scn.nextInt();
if(a==0)
{
continue;
}
if(a%2==0)
{
cnt++;
}
}
System.out.printf("입력받은 짝수는 %d개입니다.", cnt);
}
}
문제) 10개의 정수를 입력받아 3의 배수의 개수와 5의 배수의 개수를 각각 출력하는 프로그램
입력예) 10 15 36 99 100 19 46 88 87 13
출력예) 3의 배수 : 4
5의 배수 : 3
package sample;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, a, cnt3 = 0, cnt5 = 0;
for( i=1; i<=10; i++)
{
a = scn.nextInt();
if(a%3==0)
{
cnt3++;
}
if(a%5==0)
{
cnt5++;
}
}
System.out.printf("3의 배수 : %d\n5의 배수 : %d", cnt3, cnt5);
}
}
문제) 입력받은 정수만큼 성적을 입력받아서 총점과 평균을 출력하는 프로그램
평균은 소수 첫째자리까지 출력.
입력예) 90 85 100 66 88
출력예) 총점 : 429
평균 : 85.8
package sample
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, scr, sum = 0, cnt = 0;
System.out.print("몇명의 성적을 입력받을 것입니까? : ");
int a = scn.nextInt();
for( i=1; i<=a; i++)
{
scr = scn.nextInt();
sum += scr;
cnt++;
}
System.out.printf("총점 : %d\n평균 : %.1f", sum, (double)sum/cnt);
}
}
문제) 값을 입력받고 1부터 차례로 누적하여 합을 구하다가 합이 입력받은 수를 넘으면 중단하고 마지막으로 더해진 값과 그때까지의 합을 출력하는 프로그램
입력예) 1000
출력예) 45 1035
package sample;
import java.util.*;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, sum = 0;
int a = scn.nextInt();
for( i=1; ; i++)
{
if(sum>a)
{
break;
}
sum += i;
}
System.out.print(i-1+" "+sum);
}
}
문제) 정수 n을 입력받고 1부터 홀수를 차례대로 더해 나가면서 합이 n 이상이면 그 떄까지 더해진 홀수의 개수와 그 합을 출력하는 프로그램
입력예) 100
출력예) 10 100
package sample;
import java.util.*;
public class Sample
{
public static void main(String[] args)
{
Scanner scn = new Scanner(System.in);
int i, sum = 0, cnt = 0;
int n = scn.nextInt();
for( i=1; ; i+=2)
{
if(sum>=n)
{
break;
}
sum += i;
cnt++;
}
System.out.print(cnt+" "+sum);
}
}
'자바 JAVA' 카테고리의 다른 글
배열을 이용한 예제풀이 ㅡ 자바 기초 (0) | 2021.05.22 |
---|---|
while문 이용 예제풀이 - 자바 기초 (0) | 2021.05.22 |
다중 for문 이용 예제 풀이 - 자바 기초 (0) | 2021.05.19 |
삼항연산자 예제풀이 - 자바 기초 (0) | 2021.05.15 |
switch문 연습을 위한 예제풀이 ㅡ 자바 기초 (0) | 2021.05.12 |