티스토리 뷰

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함