Person Array

Person[] pArray = new Person[5];

// 만약 Person 객체를 하나만 생성한 후 for문에서 공유해 사용할 경우
// 마지막으로 입력된 데이터로 모든 데이터값이 치환됨
Person p = new Person();
for (int i = 0; i < 5; i++) {
System.out.print(“\n\nEnter Person name : “);
Scanner input = new Scanner(System.in);
p.setName(input.nextLine()); // 입력정보
System.out.print(“\n\nEnter Person age [int] : “);
p.setAge(input.nextInt()); // 입력정보
p.Print();
pArray[i] = p; // 리스트에 들어간 모든 원소는 동일한 p
}

System.out.println(“pArray : ” + Arrays.toString(pArray));

Person[] pArray = new Person[5];
// 아래와 같이 for문 안에 Person p = new Person()와같이
// 새로운 객체를 생성해야 각자 다르게 입력된 정보가 들어가게 됨
for (int i = 0; i < 5; i++) {

Person p = new Person();

System.out.print(“\n\nEnter Person name : “);
Scanner input = new Scanner(System.in);
p.setName(input.nextLine()); // 입력정보
System.out.print(“\n\nEnter Person age [int] : “);
p.setAge(input.nextInt()); // 입력정보
p.Print();

pArray[i] = p; // 이때 p는 새로운 Person객체

}

System.out.println(“pArray2 : ” + Arrays.toString(pArray2));

 

Basic

2.Basic
•ArithmeticOperator (+ – * /) method
•TemperatureConverter (F->C or C->F) enum, method, switch, if/else, for, while, do/while, break, continue, try/catch
•BreakContinueTest – break, continue
•FactorialTest (팩토리얼 연산) – recursive call
•BankAccount – class, static/instance method/field
•CheckUserInput (사용자 입력) – do/while, continue, try catch
•Divisor (약수) – for

getUserInputIntegerBetween

static public int getUserInputIntegerBetween(int min, int max) {
   int value = 0;
   Scanner scan = new Scanner(System.in);
   do {
      System.out.printf("Please enter value [%d-%d]: ", min, max);
      try {
         value = scan.nextInt();
      }
      catch (Exception e) {
         System.out.printf("Error! Please re-enter!\n");
         scan.next();
         continue;
      }
   } while (value < min || value > max);
   return value;
}

HW1

단국대학교 응용컴퓨터공학과 자바프로그래밍1 (2016년 가을학기) 실습

과목코드 : 514760-1

날짜: 2016년 9월 22 일

geometry (source code 9/29)

– 실습번호 : HW1 (Due by 9/29) (10/5 까지 연장)

– 실습제목 : enum, if/switch, do/while, for, read/print

– 실습요약 : 도형의 겉넓이와 부피 구하기 (SurfaceAreaVolumeCalculator)

– 준비자료 :

http://math.about.com/od/formulas/ss/surfaceareavol.htm

수업블로그에 2.Basic 안에 BankAccount 클래스와 TemperatureConverter 클래스 참고할것

– 실습문제

  1. SurfaceAreaVolumeCalculator 클래스를 작성한다.
  1. enum Geometry { SPHERE(1), CONE(2), CYLINDER(3), RECTANGULAR_PRISM(4), SQUARE_PYRAMID(5), ISOSCELES_TRIANGULAR_PRISM(6) }
    1. void printAllGeometry()는 각 도형마다 도형의 겉넓이와 부피 값을 콘솔창에 출력한다.

+ double calculateSurfaceArea(Geometry type)는 도형(SPHERE/CONE/..)의 겉넓이를 계산함.

+ double calculateVolume(Geometry type)는 도형의 부피를 계산함.

+ for(int i=1; i<=10; i++)를 사용하여 크기에 따른 각 도형의 넓이를 표로 출력함.

    1. void getKeyboardInput()은 콘솔창에서 사용자 입력을 받아서 처리한다.

+ Geometry getUserInputGeometry()은 콘솔창 사용자 입력에서 도형(SPHERE/CONE/..)을 판별한다.
do/while 문을 사용하여 잘못 입력된 도형일 경우, 다시 사용자 입력을 받음.

+ double getUserInputDouble()는 콘솔창 사용자 입력에서 double 값이 아니면 다시 재입력함.
do/while 문을 사용하여 double 아닌 잘못 입력된 값이면 다시 입력을 받음.

+ void getAdditionalUserInput(Geometry type)는 콘솔창 사용자 입력에서 각 도형마다 추가적인 정보를 요청하여 입력함.
예시: 먼저 도형을 선택하고 나면 (e.g. SPHERE/CONE/..), 각 도형에 따른 추가적인 입력을 받음. (e.g., 구의 반지름/radius, 원뿔의 반지름/radius와 높이/height)

  1. 본인의 원하는 메소드나 루틴을 더 추가한다. 예를 들어 다른 도형의 넓이(또는 부피) 계산 등. 위의 코드로 프로그램을 작성하고, 실행 화면과 코드를 첨부하시오.

Add existing file (to project) in Eclipse

1.Copy the preexisting source files you which add to your project.
2.In Project Explorer, right click your project and select New > File
3.In the “New File” dialog box, your project’s name / folder should be displayed as the parent folder for your new (existing) source file.
4.Click on the “Advanced” button at the bottom of the “New File” dialog box.
5.Check the “Link to file in the file system” checkbox.
6.Click the “Browse” and browse to your preexisting source.
7.Click the “Finish” button at the bottom of the dialog box.