반응형
오늘 수업은 Scanner를 통해 사용자에게 Data를 입력받고
해당 정보를 저장하여 출력해주는 프로그램을 만들어보았다.
프로그램에 대한 설명은 다음과 같다.
프로그램에 대한 설명
프로그램 실행 시 사용자에게 번호, 이름, 나이, 재직 여부, 성별, 시력 정보를 입력하도록 요구한다.
이때 입력된 값들은 각각 num, name, age, working, gender, leftEye, rightEye 배열에 저장된다.
입력은 for 반복문을 통해 20번 반복하여 수행되며, 배열의 인덱스를 이용하여 각 요소에 값을 할당한다.
입력이 완료되면 입력된 목록을 다시 출력한다.
for 반복문을 통해 배열의 모든 요소를 순회하며, printf() 메서드를 사용하여 형식화된 출력을 수행한다.
각 배열의 요소들을 %d, %s, %b, %c, %.1f 형식 지정자를 사용하여 출력하고,
각각의 값을 대응하는 인덱스에서 가져오게 된다.
프로그램은 목록 입력과 출력을 위해 Scanner 클래스를 사용하며,
System.out.printf() 메서드를 이용하여 형식화된 출력을 수행한다.
이를 통해 사용자는 여러 목록을 입력하고 저장할 수 있으며, 저장된 목록을 확인할 수 있다.
배열 반복횟수 설정 및 배열생성
package bitcamp.myapp;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
System.out.println("나의 목록 관리 시스템");
System.out.println("----------------------");
int a = 20; // 배열 길이
//배열생성
int[] num = new int[a];
String[] name = new String[a];
int[] age = new int[a];
boolean[] working = new boolean[a];
String[] gender = new String[a];
float[] leftEye = new float[a];
float[] rightEye = new float[a];
For문 반복 배열 입력 받기
// 키보드 스캐너 준비
Scanner keyboardScanner = new Scanner(System.in);
// for문 배열 입력
for (int i = 0; i < a; i++) {
System.out.print("번호?");
num[i] = keyboardScanner.nextInt();
System.out.print("이름은?");
name[i] = keyboardScanner.next();
System.out.print("나이는?");
age[i] = keyboardScanner.nextInt();
System.out.print("재직중? (true | false)");
working[i] = keyboardScanner.nextBoolean();
System.out.print("성별은? M | W : ");
gender[i] = keyboardScanner.next();
System.out.print("시력은? (왼쪽)");
leftEye[i] = keyboardScanner.nextFloat();
System.out.print("시력은? (오른쪽)");
rightEye[i] = keyboardScanner.nextFloat();
}
입력받은 값 출력
// 입력받은 값 출력
System.out.println("------------------------------");
for (int i = 0; i < a; i++) {
System.out.printf("%d %s %d %b %s %f %f\n",
num[i], name[i], age[i], working[i], gender[i], leftEye[i],rightEye[i]);
}
}
}
#1. 전체코드
package bitcamp.myapp;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
System.out.println("나의 목록 관리 시스템");
System.out.println("----------------------");
int a = 20; // 배열 길이
//배열생성
int[] num = new int[a];
String[] name = new String[a];
int[] age = new int[a];
boolean[] working = new boolean[a];
String[] gender = new String[a];
float[] leftEye = new float[a];
float[] rightEye = new float[a];
// 키보드 스캐너 준비
Scanner keyboardScanner = new Scanner(System.in);
// for문 배열 입력
for (int i = 0; i < a; i++) {
System.out.print("번호?");
num[i] = keyboardScanner.nextInt();
System.out.print("이름은?");
name[i] = keyboardScanner.next();
System.out.print("나이는?");
age[i] = keyboardScanner.nextInt();
System.out.print("재직중? (true | false)");
working[i] = keyboardScanner.nextBoolean();
System.out.print("성별은? M | W : ");
gender[i] = keyboardScanner.next();
System.out.print("시력은? (왼쪽)");
leftEye[i] = keyboardScanner.nextFloat();
System.out.print("시력은? (오른쪽)");
rightEye[i] = keyboardScanner.nextFloat();
}
// 입력받은 값 출력
System.out.println("------------------------------");
for (int i = 0; i < a; i++) {
System.out.printf("%d %s %d %b %s %f %f\n",
num[i], name[i], age[i], working[i], gender[i], leftEye[i],rightEye[i]);
}
}
}
#2. 자동으로 20개까지의 값 생성 코드
직접 20개의 값을 입력하기가 너무 힘들고 번거로운 일이기때문에
정상적으로 코드가 작동하는지 확인해보는 용도로
자동으로 for문 입력 값을 받는 코드를 작성해보았다.
package bitcamp.myapp;
import java.util.Scanner;
public class App {
public static void main(String[] args) {
System.out.println("나의 목록 관리 시스템");
System.out.println("----------------------");
//배열생성
int a = 20; // 배열 길이
int[] num = new int[a];
String[] name = new String[a];
int[] age = new int[a];
boolean[] working = new boolean[a];
String[] gender = new String[a];
float[] leftEye = new float[a];
float[] rightEye = new float[a];
// 키보드 스캐너 준비
Scanner keyboardScanner = new Scanner(System.in);
for문 귀찮으면..
for (int i = 0; i < a; i++) {
num[i] = i + 1;
name[i] = "이름" + (i + 1);
age[i] = 20 + i;
working[i] = (i % 2 == 0); // 짝수 인덱스는 true, 홀수 인덱스는 false
gender[i] = (i % 2 == 0) ? "M" : "W"; // 짝수 인덱스는 "M", 홀수 인덱스는 "W"
leftEye[i] = 1.0f + (float) i / 10;
rightEye[i] = 1.5f + (float) i / 10;
}
System.out.println("------------------------------");
for (int i = 0; i < a; i++) {
System.out.printf("%d %s %d %b %s %f %f\n",
num[i], name[i], age[i], working[i], gender[i], leftEye[i],rightEye[i]);
}
}
}
[예시코드 출력]
반응형