ㄱㅇㅅ님 자료 참고(while)
package pack;
import java.io.IOException;
import java.util.Scanner;
public class Test12_while {
public static void main(String[] args) {
// int w = 1;
// while(w <=5){ //조건이 true일 때 까지 수행
// System.out.print(w + " ");
// w++;
// }
// System.out.println("\n while 수행 후 w값은 " + w);
//
// int num=0, tot=0;
// while(num <= 10){
// System.out.print(num + " ");
// tot+=num;
// num++;
// }
// System.out.println("\n" + tot);
//
// do{
// System.out.print(w + " ");
// w++;
// }while(w < 10); //조건이 true일 때 까지 수행
// System.out.println("\n do~while 수행 후 w값은 " + w);
//
// System.out.println();
// w=0;
// while(true){
// w++;
// if (w==5) continue;
// System.out.println("w=>" + w);
// if(w==10) break;
// }
// System.out.println();
// w=10;
// do{ //무조건 한 번은 실행
//// if(w==3) break;
// System.out.print(w + " ");
// w++;
// }while(w<=5);
System.out.println("*****while 사용*****");
// -----------------------------------------------------------------------------------------
System.out.println("문제 1) 1~100 사이 숫자 중 3의 배수이지만 2의 배수가 아닌 수, 합, 갯수 출력");
int num = 1, tot=0, cnt=0;
do{
if (num%3==0){
if(num%2!=0){
System.out.print(num + " ");
tot+=num;
cnt++;
}
}
num++;
}while(num<=100);
System.out.println(", 합=" + tot + ", 갯수:" + cnt);
// -----------------------------------------------------------------------------------------
System.out.println("\n문제 2) -1, 3, -5, 7, -9, 11 ~ 99까지의 합 출력");
num = 1; tot=0;
boolean flag=true; //음수
while(num < 100){
if(flag){
tot+=(-num);
flag = false;
}else{
tot+=num;
flag = true;
}
num+=2;
}
System.out.println("결과 : " + tot);
// -----------------------------------------------------------------------------------------
System.out.println("\n문제 3) 1~1000 사이의 숫자 중 소수들을 출력하고 그 갯수를 출력");
//2 3 5 7 11 13 17 19.....
int tmp;
num = 1; cnt = 0;
while(num <= 1000){
tmp=0;
for (int i = 1; i <= num; i++) {
if (num%i==0) tmp++;
}
if (tmp == 2){
System.out.print(num + " ");
cnt++;
}
num++;
}
System.out.println("\n소수 갯수:" + cnt);
// -----------------------------------------------------------------------------------------
System.out.println("\n문제 4) ");
int aa = 2;
while(aa <= 10){
for (int j = aa/2; j <= 4; j++) {
System.out.print(" ");
}
for (int j = 1; j <= aa/2; j++) {
System.out.print((char)(64+j));
}
for (int j = aa/2; j >= 1; j--) {
System.out.print((char)(64+j));
}
aa+=2;
System.out.println();
}
aa=10;
while(aa >= 2){
for (int j = aa/2; j <= 4; j++) {
System.out.print(" ");
}
for (int j = 1; j <= aa/2; j++) {
System.out.print((char)(64+j));
}
for (int j = aa/2; j >= 1; j--) {
System.out.print((char)(64+j));
}
aa-=2;
System.out.println();
}
// -----------------------------------------------------------------------------------------
System.out.println("\n문제 5) 키보드로부터 숫자를 입력받아 1부터 그 수까지의 합을 출력");
int ch = 0; tot=0;
Scanner scan = new Scanner(System.in);
do{
System.out.print("숫자 입력 (2이상) : ");
int value = scan.nextInt();
if (value>=2){
for (int i = 1; i <= value; i++) {
tot+=i;
}
System.out.println("1부터 " + value + "까지의 합은 " + tot);
}
else{
System.out.println("2 이상 입력하세요.");
}
System.out.print("계속 할까요?(yes=1) : ");
ch = scan.nextInt();
}while(ch==1);
// 입력되는 숫자는 2이상만 허용
// 계속할까요?(y/n)
// y를 입력하면 다시 숫자를 입력하도록 한다.
// 그외에는 반복 처리 종료.
// -----------------------------------------------------------------------------------------
}
}
'📁 공부정리 > JAVA' 카테고리의 다른 글
JAVA 160601-2 for (0) | 2016.06.02 |
---|---|
JAVA 160601-1 for (0) | 2016.06.02 |
JAVA 160531-6 switch 활용 (0) | 2016.05.31 |
빠른코더가 되기 위한 이클립스 단축기! (0) | 2016.05.31 |
JAVA 160531-5 if문 연습 (0) | 2016.05.31 |