320x100
// 1. 배열의 구조
package org.example;
public class Main {
public static void main(String[] args) {
// Array의 구조
int[] counts = {12,34,56,78};
System.out.println(counts);
// 1차원 배열
int[] firstArray;
int secondArray[];
// Array 선언 및 생성
int[] thirdArray = new int[3];
// 배열 요소의 합을 구하는 반복문
int[] scores = new int[]{85,77,90};
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
System.out.println("Score sum : " + sum);
System.out.println("Score average : " + sum / scores.length);
// 향상된 for 문 Enhanced for 문
int[] scores = new int[]{85, 77, 90};
int sum = 0;
for (int score : scores) {
sum += score;
}
System.out.println("Score sum : " + sum);
System.out.println("Score average : " + sum / scores.length);
}
}
자바라는 언어는 구분 되기 보다는, 이미 앞선 변수가 정해져 있으면, 그 외의 추가 설정은 안되는 듯 하다.
파이썬 같은 경우는 밀고밀고 결국 마지막에 있는게 실행되는 구조인데,
자바는 이미 정의된 값을 초기화 시키더라도 실행이 안되는 구조라니, 이를 해결할 방법을 찾아봐야겠다.
===
stack over flow 에 같은 내용으로 문의를 한 사람이 있었는데, 변수를 달리 해주는 것으로 해결했다.
이를테면 score, score로 하지말고 score, score2 이런식으로
그래서 Enhanced for 문 부분만
// 향상된 for 문 Enhanced for 문
// Element를 변경하는 경우에는 적합하지 않음
int[] scores1 = new int[]{85, 77, 90};
int sum1 = 0;
for (int score1 : scores1) {
sum1 += score1;
}
System.out.println("Score sum : " + sum1);
System.out.println("Score average : " + sum1 / scores1.length);
이렇게 바꿔줬더니 작동이 잘 되었다.
300x250
'개발일지 > 임시카테고리' 카테고리의 다른 글
테스트 (0) | 2024.08.29 |
---|---|
Java - 구구단 과제 진행 중 (0) | 2024.08.06 |
Java - maps, HashMap 등 key, value값 관련 기초 (0) | 2024.08.05 |
Java - String과 index 처리 의문 (0) | 2024.08.05 |
java: unclosed character literal (0) | 2024.08.01 |