JAVA :: Test072_클래스와 인스턴스(입력받은 임의의 정수까지 합을 출력하는 클래스 설계)

2023. 9. 10. 00:37· 📚 Study/Java

○ 실습

사용자로부터 임의의 정수를 입력받아 1 부터 입력받은 수 까지의 합을 연산하여 결과값을 출력하는 프로그램을 구현한다.

 

단, 지금까지처럼 main() 메소드에 모든 기능을 적용하는 것이 아니라

클래스와 인스턴스의 개념을 활용하여 처리할 수 있도록 한다. (Hap 클래스 설계)

또한, 데이터 입력 처리 과정에서  BufferedReader의 readLine() 을 사용하며,

입력 데이터가 1보다 작거나 1000보다 큰 경우 다시 입력 받을 수 잇는 처리를 포함하여 프로그램을 구현한다.

 

실행 예)

임의의 정수 입력 (1~1000) : 1200

임의의 정수 입력 (1~1000) : -50

임의의 정수 입력 (1~1000) : 100

>> 1 ~ 100 까지의 합 : 5050

계속하려면 아무 키나 누르세요...

 

▼ 내가 작성한 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
class Hap
{
// 주요 속성(데이터) → 멤버 변수
int num; //-- 사용자가 입력할 임의의 정수
int sum=0; //-- 1부터 num까지의 총합
int n=1; //-- 1부터 1씩 증가하는 수
// 주요 기능 → 멤버 메소드
// 임의의 정수 입력 기능
void input() throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.print("임의의 정수 입력(1~1000) : ");
num = Integer.parseInt(br.readLine());
}
while (num<1 || num>1000);
}
// 1부터 num까지 총합을 구하는 기능
int calSum()
{
while (n<=num)
{
sum += n;
n++;
}
return sum;
}
// 출력하는 기능
void print()
{
System.out.printf(">>1 ~ %d 까지의 합 : %d\n", num, sum);
}
}
public class Test072
{
public static void main(String[] args) throws IOException
{
Hap ob = new Hap();
ob.input();
int sum = ob.calSum();
ob.print();
}
}

▼ 같이 작성한 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
class Hap
{
// 주요 변수 선언(사용자의 입력값을 담아낼 수)
int su;
// 입력 메소드 정의
void input() throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
do
{
System.out.print("임의의 정수 입력(1~1000) : ");
su = Integer.parseInt(br.readLine());
}
while (su<1 || su>1000);
}
// 연산 처리 메소드 정의
int calculate()
{
int result = 0;
for (int i= 1;i<=su ;i++ )
{
result += i;
}
return result;
}
// 결과 출력 메소드 정의
void print(int sum)
{
System.out.printf("\n>> 1 ~ %d 까지의 합 : %d\n", su, sum);
}
}
public class Test072
{
public static void main(String[] args) throws IOException
{
// Hap 인스턴스 생성
Hap ob = new Hap();
// 생성된 인스턴스를 통해 입력 메소드 호출
// -----------------------
// 참조변수 활용
ob.input(); //-- new Hap().input()
// 생성된 인스턴스를 통해 연산 메소드 호출
int s = ob.calculate();
// 생성된 인스턴스를 통해 출력 메소드 호출
//ob.print(ob.calcuate()); 아래 식이랑 똑같음
ob.print(s);
}
}
저작자표시 (새창열림)
'📚 Study/Java' 카테고리의 다른 글
  • JAVA :: Note#4_생성자
  • JAVA :: Test073_클래스와 인스턴스(입력받은 두 정수와 연산자를 활용하여 연산을 수행하는 프로그램 구현)
  • JAVA :: Test071_클래스와 인스턴스(원의 넓이와 둘레 구하는 클래스 설계)
  • JAVA :: Test070_클래스와 인스턴스(직사각형 클래스 설계 실습)
bono-hye
bono-hye
bono-hye
공부를 합시다👩🏻‍💻
bono-hye
전체
오늘
어제
  • 분류 전체보기 (506)
    • 📚 Study (225)
      • Java (148)
      • Oracle (28)
      • JDBC (4)
      • Javascript (9)
      • JSP & Servlet (19)
      • JQuery (6)
      • Spring (9)
      • Springboot (0)
      • 개인 공부 (2)
    • ✏️ 문제풀이 (280)
      • 백준 (181)
      • 프로그래머스 (99)

블로그 메뉴

  • 홈
  • 글쓰기
  • 관리
hELLO · Designed By 정상우.v4.2.1
bono-hye
JAVA :: Test072_클래스와 인스턴스(입력받은 임의의 정수까지 합을 출력하는 클래스 설계)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.