Notice
Recent Posts
Recent Comments
Link
MSM8994의 화룡점정 블로그
[JAVA] 1부터 10까지 합과 홀수 합과 짝수 합 식까지 표시하기 본문
1부터 10까지 합과 홀수 합과 짝수 합을 식과 모두 표시하려면 그냥 합, 홀수 합, 짝수 합 이렇게 3개의 반복문을 써도 되겠지만 코드 분량이 늘어나게 되므로 여기서는 한 반복문으로 하도록 하겠습니다.
반복중 발생하는 내용을 바로 출력하는 콘솔출력만으로는 내용이 섞여 달성하기 힘드실 것입니다. 문자열 변수를 만들어 여기에 식을 적도록 하면 간단히 해결할 수 있습니다.
※1 String을 초기화하지 않으면 글자를 붙일 수 없고 null로 초기화하면 실행도중 오류가 발생하게 됩니다. 따라서 빈 문자열로 초기화했습니다.
※2 여기서 조건으로 나오는 메소드는 String 객체에 공통으로 있는 isEmpty() 인데요, null이 아닌 문자열 객체에 아무 글자도 들어있지 않는지를 (String.length() == 0) 알려줍니다. 공백은 글자가 들어있는 것으로 처리됩니다. 빈 문자열이 아니어야 한다면 앞에 !를 추가해 논리값을 뒤집으면 되겠습니다.
// 변수 선언 int max = 10; // 최대값 int sum = 0; // 합을 저장할 변수 int sumOdd = 0; // 홀수 합을 저장할 변수 int sumEven = 0; // 짝수 합을 저장할 변수 String expSum = ""; //합의 식을 저장할 문자열 String expOdd = ""; //홀수 합의 식을 저장할 문자열 String expEven = ""; //짝수 합의 식을 저장할 문자열 // 1부터 max까지 합 구하기 for (int i = 1; i <= max; i++) { // 그냥 합 sum += i; // 그냥 합의 식에 + 붙임 if(!expSum.isEmpty()) { // 빈 문자열 아닐 때만 + 찍기 expSum += "+"; } // 그냥 합의 식에 수 붙임 expSum += i; if(i % 2 == 0) { // 짝수 합 sumEven += i; // 짝수 합의 식에 + 붙임 if(!expEven.isEmpty()) { // 빈 문자열 아닐 때만 + 찍기 expEven += "+"; } // 짝수 합의 식에 수 붙임 expEven += i; } else { // 홀수 합 sumOdd += i; // 홀수 합의 식에 + 붙임 if(!expOdd.isEmpty()) { // 빈 문자열 아닐 때만 + 찍기 expOdd += "+"; } // 홀수 합의 식에 수 붙임 expOdd += i; } } // 식의 끝에 = 붙이기 expSum += "="; expOdd += "="; expEven += "="; System.out.println("그냥 합: " + expSum + sum); System.out.println("홀수 합: " + expOdd + sumOdd); System.out.println("짝수 합: " + expEven + sumEven);
'코딩' 카테고리의 다른 글
[JAVA] 역방향으로 별 수를 줄여갈 때 같은코드가 두 번 작성되지 않는 별찍기1 (2) | 2018.07.17 |
---|---|
[JAVA] 다단 구구단 만들기 (0) | 2018.07.17 |
[JAVA] Math.round()를 활용하여 소수 N번째부터 반올림하기 (0) | 2018.07.16 |
≠ 이 글자 어떻게 입력하지? (2) | 2018.07.13 |
Java 자료형 범위 초과시 자료가 저장되는 방식 (1) | 2018.07.12 |
Comments