융프1 실습과제_3/29

나은·2023년 3월 30일

융프1 실습과제

목록 보기
2/11

문제


코드 1차

package DGU;

import java.util.Scanner;

public class DGU_ayoung {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("실습 과제 : 제어문");
	
		/*
		아스키 코드표를 출력하세요. 단 한줄에 16개씩 수평으로 출력하고 공백문자 32번부터 마지막 번호는 키입력을 받아 출력한다.
		 */
		Scanner scanner = new Scanner(System.in);

		System.out.print("입력예: ");
		int A = scanner.nextInt();
		int i;
		for(i=32; i<48; i++) {
			char j =(char)i;
			System.out.print(j+"");
			//print 가로 출력 println 세로 출력
		}
		System.out.print("\n");
		for(i=48; i<A+1; i++) {
			char j =(char)i;
			System.out.print(j+"");
			//print 가로 출력 println 세로 출력
		}
		scanner.close();
		}
}

분석

입력에 64보다 큰 수가 들어가면 돌아갈 수 없는 코드이기에 다시 짜야한다.


코드 2차(성공)

package DGU;

import java.util.Scanner;

public class DGU_ayoung {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("실습 과제 : 제어문");
	
		/*
		아스키 코드표를 출력하세요. 단 한줄에 16개씩 수평으로 출력하고 공백문자 32번부터 마지막 번호는 키입력을 받아 출력한다.
		 */
		Scanner scanner = new Scanner(System.in);

		System.out.print("입력예: ");
		int A = scanner.nextInt();
		int i=32;
		while(i<=A) {
			char j= (char) i;
			System.out.print(j+"");
				if (i%16==0)
				System.out.println();
			i++;
		}
			
			//print 가로 출력 println 세로 출력
		

		scanner.close();
		}
}

분석

교수님의 힌트
-while,for 중에서 무엇을 써야할지
-산술연산자 % / 잘 사용하기


정답코드

package DGU;

import java.util.Scanner;

public class DGU_ayoung {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("실습 과제 : 제어문");
		int end;
		
		Scanner sc= new Scanner(System.in);
		System.out.print("아스키 코드 끝번호 입력 : ");
		end=sc.nextInt();
		
		for(int i=32; i<=end; i++) {
			System.out.print((char)i+"");
			if((i+1)%16==0)
				System.out.println();
		}
		}
}

최종 정리

  1. 아스키 코드로 강제 변환 하고 싶으면 char a = (char) b 과정 필요
  2. if else if else는 한줄 일때는 {} 없어도 되고 여러줄일때는 {} 필요
    마지막에 출력할때 char(i)도 좋은 방법
  3. print 가로 출력 printLn 세로 출력
    내리고 싶으면 "\n"
profile
코딩공부블로그

0개의 댓글