1. 사용자로부터 정수를 입력받아서 배열에 저장하고, 출력하는 프로그램을 작성하여 보자.
1) 위의 프로그램의 빈칸을 채우고 실행하려 보라.
2) 배열에 저장된 정수를 출력할 때, for-each 반복구조를 사용하여 보라.
3) 배열에 저장된 정수를 역순으로 출력하여 보라.
import java.util.*;
import java.io.*;
public class test_1
{
public static void main(String[] args) throws Exception
{
Scanner scan = new Scanner( System.in );
// 10개의 정수를 저장할 수 있는 배열을 선언하고 생성하라.
int num[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // 1
// 사용자로부터 정수를 받아서 배열에 저장하는 반복 루프
for(int i=0; i<10; i++)
num[i] = scan.nextInt(); // 1
// 배열에 저장된 정수를 출력하는 반복 루프
for(int i=0; i<10; i++)
System.out.println( num[i] ); // 1
for(int val : num)
System.out.println( val ); // 2
for(int i=10; i<0; i--)
System.out.println( num[i] ); // 3
}
}
2. 사용자가 입력한 문자열에서 각각의 문자들이 나타나는 횟수를 계산하는 프로그램을 작성하여 보자.
import java.util.*;
import java.io.*;
public class test_1
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
// 26개의 정수를 저장할 수 있는 배열 count을 선언하고 생성하라.
int[] count = new int[26];
System.out.println( "문자열을 입력하시오." );
String buffer = scan.nextLine();
// 각 문자가 등장하는 회수를 계산한다.
for(int i=0; i<buffer.length(); i++)
{
char ch = buffer.charAt(i);
if(ch >= 65 && ch <= 90)
count[ch-'a']++;
if(ch >= 97 && ch <= 122)
count[ch-'A']++;
}
// 배열에 저장된 횟수를 출력하는 반복루프
for(int i=97; i<123; i++)
System.out.println( (char)i + "는 " + count[i-97] + "개 입력되었습니다." );
}
}
3. 배열에 대하여 실습하여 보자.
회사에서 직원들을 관리하는 프로그램을 작성하여보자.
직원들의 이름, 주소, 연봉, 전화번호를 가지고 있다.
직원은 Employee 클래스로 표현된다.
회사 전체의 직원은 Employee의 배열 안에 저장된다.
import java.util.*;
import java.io.*;
class Employee
{
String name; // 직원의 이름
String adress; // 주소
String pay; // 연봉
String phone; // 전화번호
// 각각의 필드에 대하여 getter와 setter 메소드를 작성하라.
public String Get_name() { return name ; }
public void Set_name( String set_name ) { name = set_name; }
public String Get_adress() { return adress ; }
public void Set_adress( String set_adress ) { adress = set_adress; }
public String Get_pay() { return pay ; }
public void Set_pay( String set_pay ) { pay = set_pay; }
public String Get_phone() { return phone ; }
public void Set_phone( String set_phone ) { phone = set_phone; }
// toString() 메소드를 작성하여 본다.
public String toString()
{
return "";
}
}
public class test_1
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int count=0;
// 배열 참조 변수를 선언한다.
Employee info = new Employee();
// 배열을 생성한다.
Employee[] number = new Employee[10];
while(true)
{
// 사용자로부터 데이터를 받아서 배열에 추가하여 본다.
System.out.println( "이름을 입력해 주세요. : " );
info.Set_name(scan.nextLine());
System.out.println( "주소을 입력해 주세요. : " );
info.Set_adress(scan.nextLine());
System.out.println( "연봉을 입력해 주세요. : " );
info.Set_pay(scan.nextLine());
System.out.println( "전화번호을 입력해 주세요. : " );
info.Set_phone(scan.nextLine());
number[count] = info;
count++;
System.out.print( "종료 : 1, 계속 : 2 " );
if( scan.nextInt() == 1 )
break;
}
for(int i=0; i<number.length; i++)
{
System.out.println( i + "번째 사원의 이름은" + number[i].Get_name() );
System.out.println( i + "번째 사원의 주소는" + number[i].Get_adress() );
System.out.println( i + "번째 사원의 연봉은" + number[i].Get_pay() );
System.out.println( i + "번째 사원의 전화번호는" + number[i].Get_phone() );
}
}