Lab1

Lab1 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (2~3장)를 넣고 Lab1_학번_이름.zip 압축한 후 e-learning(http://lms.dankook.ac.kr/index.jsp)으로 제출 (10점)

Lab1 – Basics (method, for, foreach, if, switch, do/while, while, array 활용) 코드 분석 보고서 &

(수업블로그에 2.Basic 안에 ArithmeticOperator 클래스 참고하여) 본인이 원하는 method나 routine를 추가 작성한다.

보고서는 출력해서 수업시작 전에 제출한다.

 

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;
}

getUserInputDouble using try-catch

static public double getUserInputDouble() {
double value;
Scanner scan = new Scanner(System.in);
while(true) {
try {
value = scan.nextDouble();
break;
}
catch (Exception e) {
System.out.print(“Error! Please re-enter [double value]: “);
scan.next();
}
}
return value;
}

int <-> String

//http://javadevnotes.com/java-integer-to-string-examples
// int => String type conversion
int i = -10; // -10
String s1 = Integer.toString(i); // “-10”
String s2 = String.valueOf(i); // “-10”
String s3 = new Integer(i).toString(); // “-10”
String s4 = String.format(“%d”, i); // “-10”
System.out.println(“s1 = ” + s1);
System.out.println(“s2 = ” + s2);
System.out.println(“s3 = ” + s3);
System.out.println(“s4 = ” + s4);

//http://javadevnotes.com/java-string-to-integer-examples
// String => int type conversion
String x = “-123”; // “-123”
int y = Integer.parseInt(x); // -123 (integer로 변환이 가능한 경우만 변환 가능 그 외엔 run-time exception error)
int z = Integer.valueOf(x); // -123 (integer로 변환이 가능한 경우만 변환 가능 그 외엔 run-time exception error)
int w = new Integer(x).intValue(); // 123 (integer로 변환이 가능한 경우만 변환 가능 그 외엔 run-time exception error)
System.out.println(“x = ” + x);
System.out.println(“y = ” + y);
System.out.println(“z = ” + z);
System.out.println(“w = ” + w);

Implicit/Explicit Type Conversion

int intVal = 32555;
byte byteVal = 25;
long longVal = intVal; // implicit type conversion
System.out.println(longVal); // 32555
intVal = (int) longVal; // explicit type conversion
System.out.println(intVal); // 32555
longVal = byteVal; // implicit type conversion
System.out.println(longVal); // 25
byteVal = (byte) longVal; // explicit type conversion
System.out.println(byteVal); // 25

Numeric Data Type Conversion

byte bVal = 127;
int iVal = 100;
System.out.println(bVal+iVal); // 127 + 100 = 227
System.out.println(10/4); // int/ int 2.5 => 2
System.out.println(10.0/4); // double / int => double divided by double => 2.5
System.out.println((char)0x12340041);
System.out.println((byte)(bVal+iVal)); // 127 + 100 => (byte)227 => 1110 0011 => 1 + 2 + 32 + 64 – 128 => -29
System.out.println((int)2.9 + 1.8); // 2 + 1.8 => 2.0 + 1.8 => 3.8
System.out.println((int)(2.9 + 1.8)); // (int)4.1 => 4
System.out.println((int)2.9 + (int)1.8); // 2 + 1 => 3