티스토리 뷰
728x90
* 본 포스팅은 개인공부를 위한 오답노트입니다.
* This posting is an incorrect answer note for personal study.
정적 메소드 선언 시 주의할 점
public class Car {
int speed;
void run() {
System.out.println(speed + "으로 달립니다.");
}
public static void main(String[] args) {
// speed = 60;
Car myCar = new Car();
myCar.speed = 60;
myCar.run();
}
}
문제 정의
Static 메소드 선언 시, 내부에 인스턴스 필드 및 메소드 사용 불가
수정
new 연산자 사용해 객체를 생성한 후, 변수의 참조형태로 접근한다.
변수 초기화
//1부터 100까지 합 구하기 for
public class ForSumFrom1To100Example {
public static void main(String[] args) {
int sum = 0; //합을 저장할 sum 이라는 변수 초기화
for (int i = 1; i<=100; i++) {
sum += i; // sum 이라는 변수에 복합대입연산자 사용해서 i라는 변수를 계속 누적
}
System.out.println("1~100합" + sum );
}
}
문제 정의
For문의 누적합이 입력되는 SUM 변수 값을 초기화하지 않았다.
수정
{1~5} 까지의 합을 구하고 싶다면, 합계는 1+2+3+4+5가 되어야 한다.
sum을 0으로 초기화하지 않고 sum+= i;를 입력하면 오류가 발생한다.
왜? 컴퓨터는 합계가 어떤 값으로 시작하는 지 알 수 없기 때문이다.
만약 sum 변수의 초기값이 1이라고 해보자. 그럼 합계는 1+1+2+3+4+5가 될 것이다.
'오답노트 (Wrong Answer Note)' 카테고리의 다른 글
[오답노트] 10월 3주차 (0) | 2023.10.22 |
---|---|
[오답노트] 10월 2주차 (0) | 2023.10.15 |
[오답노트] 10월 1주차 (0) | 2023.10.08 |
[자바] 야구게임 만들기 (0) | 2023.09.30 |
문제 해결 기록하기. (0) | 2023.09.25 |