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

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

|

댓글 8개

혹시 학교 숙제는 아니겠지요? ^^

[http://www.sir.co.kr/img/emoticon/md10.gif]

C++에서 출발해서 파스칼보다 더 깝깝함을 느끼게 하는 자바......
아니에요...ㅜ_ㅡ; 전 학교 안다니는데요...ㅠ_ㅇㅎㅎ
제가 지금 이런 곤경에 처해 있습니다. 엑스님 도움이 절실히 필요해요.ㅠ_ㅠ 여태까지 깨어 있는 이유도...;;

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

[http://www.sir.co.kr/img/emoticon/md11.gif]

홈페이지 활성화 하기 딥따 어렵네요.ㅠ_ㅠ 회사원들이 과제나 물어보고...
웹 프로그래밍 수업 과제가 자바라니 아이러니 하네요 ㅎㅎ;;
학교 숙제가 아니고 회사 숙제를 부탁 받으신 거였군요. ^^
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());
}
}


=======================
이렇게 하면 되겠습니다.
으앙.. 너굴군님 정말 감사합니다ㅜ_ㅜ; 어떻게 보답을 드려야할찌... 친절한 설명까지, 정말 많이 배웠습니다.
[http://www.sir.co.kr/img/emoticon/md80.gif]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고