[java] 반복문 문제 풀기 ② 숫자 누적하기, 문자 출력하기, 홀수/짝수의 값 구하기

심심이·2024년 1월 28일
0

java

목록 보기
20/46

1. 숫자 누적하기

요구 사항 >

>> 누적해야할 첫번째 숫자 => 1
>> 누적해야할 두번째 숫자 => 5
1+2+3+4+5=15

>> 누적해야할 첫번째 숫자 => 5
>> 누적해야할 두번째 숫자 => 1
1+2+3+4+5=15

>> 누적해야할 시작 숫자 => 똘똘이
	[경고] 올바른 정수만 입력하세요!!

>> 누적해야할 시작 숫자 => 3
>> 누적해야할 마지막 숫자 => 345234543643643543
	[경고] 올바른 정수만 입력하세요!!

풀이 코드 >


	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		while(true) {
			try {

				System.out.println("누적해야할 시작 숫자:");
				int num1 = Integer.parseInt(sc.nextLine());

				System.out.println("누적해야할 마지막 숫자:");
				int num2 = Integer.parseInt(sc.nextLine());

				int num3 = 0; //숫자 바꿔서 담아둘 공간

				if (num1 > num2) { //시작 숫자가 마지막 숫자보다 크면 바꿔 담아준다
					num3 = num1;
					num1 = num2;
					num2 = num3;
				}

				int sum = 0;
				String str = ""; // 1+2+3+4+5.. 문자열을 담아둘 공간
				for (int i = num1; i <= num2; i++) {
					sum += i;
					String add = (i < num2) ? "+" : "=";
					//마지막 숫자에 도달할때까지 +, 마지막 숫자는 =
					str += i + add;
				}
				System.out.println(str + sum);
				System.out.println("\n=== 프로그램 종료 ===");
                
			} catch (NumberFormatException e) {
				System.out.println("올바른 정수만 입력하세요.");
				continue;
			}
			sc.close();
			break;
		}
		
	}// end of public static void main(String[] args)--------
}

2. 문자 출력하기

요구 사항 >

for 문을 사용하여 알파벳 소문자를 아래처럼 출력하세요.
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z 

		
for 문을 사용하여 알파벳 소문자를 아래처럼 출력하세요.

a,b,c,d,e,f,g,h,i,j,k,l,m
n,o,p,q,r,s,t,u,v,w,x,y,z

풀이 코드 >

String str = "";
for(char i='a'; i<='z'; i++) {
	String add = ( i < 'z')? "," : "";
	str += i+add;
	}
System.out.println(str);
//a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z 출력


//============================================================

String str = "";  

for(char i='a'; i<='z'; i++) { //'a'~'z'까지 순회
	String add = ( i == 'm' || i == 'z' )? "\n" : ",";
    // ||는 i가 'm' 이거나 'z' 둘 중 하나면 참=>\n
    //거짓이면 , 출력
	str += i+add;
}
System.out.println(str);

//a,b,c,d,e,f,g,h,i,j,k,l,m
//n,o,p,q,r,s,t,u,v,w,x,y,z 출력

3. 홀수,짝수의 값 구하기

요구 사항 >

		// ▣ 첫번째 정수 : 1
		// ▣ 두번째 정수 : 10
		
		// >> 결과 <<
		// 1 부터 10 까지의 홀수의 합 : 25
		// 1 부터 10 까지의 짝수의 합 : 30
		
	//	-----------------------------------
		
		// ▣ 첫번째 정수 : 2
		// ▣ 두번째 정수 : 10
		
		// >> 결과 <<
		// 2 부터 10 까지의 홀수의 합 : 24
		// 2 부터 10 까지의 짝수의 합 : 30
		
		
		// ▣ 첫번째 정수 : 2.3453
		// [경고] 올바른 정수를 입력하세요!!
		
		// ▣ 첫번째 정수 : 1
		// ▣ 두번째 정수 : 똘똘이
		// [경고] 올바른 정수를 입력하세요!!
		
		// ▣ 첫번째 정수 : 1
		// ▣ 두번째 정수 : 10
		// >> 결과 <<
		// 1 부터 10 까지의 홀수의 합 : 25
		// 1 부터 10 까지의 짝수의 합 : 30
		

풀이 코드 >


	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		while (true) {
			try {
				System.out.print("▣ 첫번째 정수 : ");
				int num1 = Integer.parseInt(sc.nextLine());
				System.out.print("▣ 두번째 정수 : ");
				int num2 = Integer.parseInt(sc.nextLine());

				int num3 = 0; //숫자 바꿔서 담아둘 공간

				int odd = 0; //홀수
				int even = 0; //짝수

				if (num1 > num2) { //시작 숫자가 마지막 숫자보다 크면 바꿔 담아준다
					num3 = num1;
					num1 = num2;
					num2 = num3;
				}

				for (int i = num1; i <= num2; i++) {
					if (i % 2 == 0) {
						even += i;
					} else {
						odd += i;
					}
				}
				System.out.println(">>> 결과 <<<");
				System.out.println(num1 + "부터" + num2 + "까지의 홀수의 합 : " + odd);
				System.out.println(num1 + "부터" + num2 + "까지의 짝수의 합 : " + even);
				System.out.println(">> 프로그램 종료 <<");
			} catch (NumberFormatException e) {
				System.out.println("[경고] 올바른 정수를 입력하세요!!");
				continue;
			}
			sc.close();
			break;
		}
		//1부터 10까지의 짝수 => 각 숫자를 /2로 나눴을때 나머지가 0이면 짝수
		//그 외에는 홀수

	}// end of public static void main(String[] args)----------
profile
개발하는 심심이

0개의 댓글

관련 채용 정보