while1. 루프를 사용하여 숫자 합산
키보드에서 숫자를 읽고(사용자가 숫자처럼 보이는 것을 입력하는 한) 그 합계를 화면에 표시하는 프로그램을 작성해 봅시다. 이러한 프로그램의 코드는 다음과 같습니다(메소드 내부의 코드만 표시함 main).
| 암호 | 설명 |
|---|---|
|
Scanner콘솔에서 데이터를 읽을 개체를 만듭니다 . 숫자의 합을 변수에 저장합니다 sum. 콘솔에서 숫자를 입력하는 한 변수 에 다음 숫자를 읽어들입니다 x. 숫자의 합계(변수)에 더합니다 . 계산된 합계를 화면에 표시합니다. xsum |
while2. 루프를 사용하여 최대 수 찾기
두 번째 프로그램도 키보드에서 숫자를 읽지만(사용자가 숫자와 같은 것을 입력하는 한) 이제 입력한 숫자 중 가장 큰 숫자를 표시하려고 합니다. 이러한 프로그램의 코드는 다음과 같습니다(메소드 내부의 코드만 표시함 main).
| 암호 | 설명 |
|---|---|
|
Scanner콘솔에서 데이터를 읽을 개체를 만듭니다 . 변수 max는 숫자의 최대값을 저장합니다. 콘솔에서 숫자를 입력하는 한 변수 에 다음 숫자를 읽어들입니다 x. 비교 x하고 max. x가 보다 큰 max경우 최대 값을 업데이트합니다. 화면에 최대 수를 표시합니다. |
여기에 흥미로운 점이 있습니다. 키보드에서 입력한 모든 숫자가 음수이면 프로그램에 가 표시됩니다 0. 어느 것이 잘못되었습니다.
결과적으로 max 변수의 초기값은 가능한 한 작아야 합니다.
옵션 1:
-2,000,000,000(마이너스 20억) 로 설정할 수 있습니다 . 이것은 나쁜 시작이 아닙니다.
옵션 2:
가능한 가장 작은 int값을 할당합니다. 이를 위한 특별한 상수가 있습니다: Integer.MIN_VALUE;
옵션 3:
더 좋은 방법은 max입력한 첫 번째 숫자로 초기화하는 것입니다. 이것이 최선의 선택입니다. 그러나 이것은 작업 조건에서 사용자가 최소한 하나의 숫자를 입력해야 하는 경우에만 작동합니다.
GO TO FULL VERSION