여기 혹시 자바 잘하시는 분 계시나욤..? > 자유게시판

자유게시판

여기 혹시 자바 잘하시는 분 계시나욤..? 정보

여기 혹시 자바 잘하시는 분 계시나욤..?

본문

OTL... 민망하게, 어느분이 질문하셨는데, 부탁은 들어놓고 진도를 못나가고 있네요. 킁.. 쉬운건데, C에서 scanf 랑 자바에서 scanner 에 익숙해져서 bufferreader 하면 어떻게 구현해야 할지 엉키네요.
도와주세요ㅠ_ㅡ;;;

아래가 문제입니다.

--------------------------------------------------------------------------------

2. 주어진 조건과 코드를 이용하여 다음과 같은 클래스를 작성하시오. (JAVA)


public class RectTest, class Rect (실제 클래스)

private int width; private int height; //변수 2개

데이터 입력 : BufferedReader 사용


문제 2-1.

디폴트 생성자는 0, 0 으로 초기화

set( ) 메서드를 이용한 가로 세로 값을 동시에 설정(매개변수)

또는 setter( )를 이용한 가로 세로 값 설정

객체 생성

가로 / 세로 값은 set()를 사용하여 직접 설정( 가로3, 세로4)

area( ) 메서드를 이용하여 면적 도출

▼ 출력결과 ▼

가로3, 세로4 사각형의 면적은 12입니다.


문제 2-2.

set 메서드를 오버로드하여 사용자로부터 가로 / 세로 입력받는 기능 작성

객체생성

area( ) 메서드를 이용하여 면적 도출



class Rect{

BufferedReader bufRead=new BufferedReader(new InputStreamReader(System.in));

private int width, height;

Rect(){ } //디폴트 생성자는0,0으로 초기화

set( ){ } //문제 2-1.

set( ){ //문제 2-2.오버로딩

try{

System.out.print("가로입력:");

System.out.print("세로입력:");

}catch(Exceptione){ }

}

area( ){ } //면적

}


public class RectTest{

public static void main(String[ ] args) {

Rect r = newRect();

// set( ); 호출 //문제 2-1.

System.out.println("면적:"+r.area());

// System.out.printf(“사각형의자세한정보출력");


// set( ); 호출 //문제 2-2.오버로딩

System.out.println("면적:"+r.area());

}




-----------------------------------------------------------------------


아래는 제가 어느정도 진행해놓은 건데... 참고하셔도 됩니다..




import java.io.*;
import java.text.*;
import java.util.*;

public class RectTest {
  private int width, height; 
  BufferedReader buf;
              
  public RectTest() throws IOException {
    super();
    InputStreamReader isr = new InputStreamReader(System.in);
    buf = new BufferedReader(isr);
  }
 
 


public String getUserInput() throws IOException {
   return buf.readLine();
}
}





흑... 정말 감사합니다... 사례하겠습니다 T_T

추천
1

댓글 8개

아니에요...ㅜ_ㅡ; 전 학교 안다니는데요...ㅠ_ㅇㅎㅎ
제가 지금 이런 곤경에 처해 있습니다. 엑스님 도움이 절실히 필요해요.ㅠ_ㅠ 여태까지 깨어 있는 이유도...;;

http://www.seescripts.info/ko/bbs/board.php?bo_table=qna_pro_02



홈페이지 활성화 하기 딥따 어렵네요.ㅠ_ㅠ 회사원들이 과제나 물어보고...
BufferedReader를 사용하는 방법은 간단합니다.
==========================================================
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.In));
==========================================================

BufferedReader클래스는 입력값을 버버로 저장해서 출력하는 함수인데 BufferedReader생성자에는 java.io.Reader에서 상속받은 모든 클래스가 들어갈 수 있습니다. 여러가지 읽어들이는 클래스들이 구미에 맞게 넣어서 사용하면되죠... 여기서 InputStreamReader를 사용했고 시스템에서 읽어들이는 값을 저장하게 하였습니다.

이렇게 하고 사용할 때에는
===================
String line = null;
line = keyboard.readLine();
===================
이렇게 사용하면 사용자가 입력한 한 줄이 line에 저장됩니다.
나머지는 클래스 생성하는것이라 응용하시면 되리라고 생각하네요^^

아 숫자로 저장해야 하니
================================
line = Integer.parseInt(keyboard.readLine());
================================
Integer클래스를 활용해도 될것 같네요..
2-1번 문제
=======================
public class RectTest {
    private int width;
    private int height;
   
    public RectTest() {
        this.width = 0;
        this.height = 0;
    }
   
    public void set(int width, int height) {
        this.width = width;
        this.height = height;
    }
   
    public int area() {
        return width*height;
    }
}

public class HandleTestRect {
    public static void main(String[] args) {
        RectTest rect = new RectTest();
        rect.set(3, 4);
        System.out.println("가로3,세로4 사각형의 면적은 "+rect.area()+"입니다.");
    }
}

==========================================
이렇게 하면 되겠네요...
2-2번 문제
=======================
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class RectTest {
    private int width;
    private int height;
   
    public RectTest() {
        this.width = 0;
        this.height = 0;
    }
   
    public void set(int width, int height) {
        this.width = width;
        this.height = height;
    }
   
    public void set() {       
       
        BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
       
       
        try {
            System.out.print("가로입력: ");
            width = Integer.parseInt(keyboard.readLine());           
            System.out.print("세로입력: ");
            height = Integer.parseInt(keyboard.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
   
    public int area() {
        return width*height;
    }
}


public class HandleTestRect {
    public static void main(String[] args) {
        RectTest rect = new RectTest();
        rect.set();
        System.out.println("사각형의 자세한 정보출력");
        System.out.println("면적: "+rect.area());
    }
}


=======================
이렇게 하면 되겠습니다.
으앙.. 너굴군님 정말 감사합니다ㅜ_ㅜ; 어떻게 보답을 드려야할찌... 친절한 설명까지, 정말 많이 배웠습니다.
전체 199,662 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT