Programming Language 147

2차원 배열

1. 특징 - 자료형이 같은 1차원 배열의 묶음이다. - 배열 안에 다른 배열이 존재한다. - 할당된 공간마다 인덱스 번호 2개가 부여된다. - 앞의 번호는 행, 뒤의 번호는 열이며, '[1][2]'(1열에 2행) 이처럼 표현한다. 2. 선언과 할당 및 초기화 (1) 선언 자료형[][] 배열명; // 대부분 이 형태를 쓴다. 자료형[] 배열명[]; 자료형 배열명[][]; (2) 할당 자료형[][] 배열명 = new 자료형[행 크기][열 크기]; 자료형[] 배열명[] = new 자료형[행 크기][열 크기]; 자료형 배열명[][] = new 자료형[행 크기][열 크기]; int[][] arr = new int[1][2]; int arr[][] = new int[1][2]; (3) 초기화 ① 인덱스를 이용한 ..

주민등록번호 뒷자리 첫 번째 숫자 이후로는 '*' 표시하고 출력하기

단, 원본 배열은 '*' 표시 없이 복사 배열로 변경하여 출력한다. public void personID() { // Scanner로 입력 받기 Scanner sc = new Scanner(System.in); System.out.println("하이픈(-)을 포함하여 주민등록번호를 입력하세요."); String num = sc.nextLine(); // 하이픈(-) 포함 숫자 입력이므로 문자열 타입 char arr = new char[14] // 주민등록번호는 하이픈 포함 14자리 for(int i = 0; i < arr.length; i++) { // .charAt() : String으로 저장된 문자열 중 한 글자만 선택해서 char 타입으로 변환 arr[i] = num.charAt(i); } cha..

문자열을 입력 받아 배열에 각 철자를 저장하고, 철자의 개수를 출력하기

public void text() { // Scanner로 입력값 받기 Scanner sc = new Scanner(System.in); System.out.println("문자열을 입력하시오."); String word = sc.nextLine(); // String 타입이므로 .nextLine()을 사용 // 각 철자를 하나씩 저장해야 하므로 char 배열을 사용 // 입력값에 따라 문자열의 길이가 달라지므로 .length를 사용 char[] arr = new char[word.length()]; for(int i = 0; i < word.length; i++) { // 문자 "배열"의 i번째 = 문자열의 i번째에 있는 값 arr[i] = word.charAt(i); // 마지막 문자가 출력될 때 '..

사용자의 입력값이 배열에 있거나 없을 때 값을 출력하기

어플로 어느 가게의 음식을 주문하려는데 이런 음식도 있는지 궁금해서 검색해봐야겠다. "메뉴를 검색하세요." 이때, 입력한 메뉴가 배열에 있으면 "OOO을(를) 주문하시겠습니까?", 없으면 "OOO은(는)없는 메뉴입니다."를 출력한다. public void restaurant() { // 식당에 있는 메뉴를 배열로 초기화 String[] menu = {"떡볶이", "돈가스", "볶음밥", "라면", "떡국"}; Scanner sc = new Scanner(System.in); // 입력값을 받기 위해 Scanner 사용 System.out.println("메뉴를 입력하세요."); String question = sc.nextLine(); // String 타입이므로 nextLine()으로. // 반복문을 ..

배열(Array) - 선언과 할당 및 초기화, 복사

1. 특징  - 같은 자료형의 변수를 하나로 묶는다. 즉, 한 공간에 여러 개의 값을 저장할 수 있다.      cf) 변수: 한 공간의 하나의 값만 저장할 수 있다.  - 배열의 각 인덱스(index)에 값을 저장할 수 있다.      ex) int[] : 각 인덱스의 크기는 4 byte           double[] : 각 인덱스의 크기는 8 byte  - 배열은 저장된 값마다 인덱스 번호가 0부터 시작된다.   2. 배열의 선언과 할당, 초기화 (1) 배열의 선언   ① 표현법     - 자료형[] 배열명;       자료형 배열명[]; (이 표현은 권장하지 않음)    ② 예시     - int[] arr       int arr[]     - double[] arr       double a..

for문으로 공차를 만들어 입력값에 공차를 더한 값 출력하기

단, 출력될 숫자는 총 8개로 한다. 그리고 개행 없이 일렬로 나열되게 한다. //입력값을 받아야 하므로 Scanner를 사용한다. Scanner sc = new Scanner(System.in); System.out.println("먼저 시작값을 입력해주세요."); //시작값 입력 받기 int start = sc.nextInt(); //시작값은 변수 start System.out.println("원하는 공차값을 입력해주세요."); //공차값 입력 받기 int gong = sc,nextInt(); //공차값은 변수 gong for(int i = 0; i < 8; i++) { System.out.print(start + " "); //start가 시작점이므로 start를 먼저 출력해야함 start += g..

continue문으로 구구단 출력하기

구구단을 출력한다. 단, 3의 배수인 단(3단, 6단, 9단)을 제외하고 출력한다. //n단을 결정하는 반복문 for(int i = 1; i < 9; i++) { if(i % 3 == 0) { // 3의 배수인 단을 제외하는 조건! continue; // 3단, 6단, 9단을 실행하지 않고 넘어간다. } //한 단을 출력하는 반복문 for(int j = 1; i < 10; j++) { System.out.prinln(i + " * " + j + " = " + (i * j)); } } ▼실행결과 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 4*1=4 ..

break문으로 계속 숫자를 입력 받다가 그 숫자가 음수이면 종료한다는 문구 출력하기

// 입력을 받아야 하므로 Scanner 입력 Scanner sc = new Scanner(System.in); // 입력을 계속해서 받아야 하기 때문에 while(true)로 작성(무한 반복) while(true) { System.out.println("숫자를 입력하시오."); // 문자를 반복해야 하므로 while문 내에 작성 int num = sc.nextInt(); // 입력받을 변수 num if(num < 0) { System.out.println("종료합니다."); break; // 음수를 입력받으면 종료해야 하므로 break;로 출력을 멈춘다. } }