여기 혹시 자바 잘하시는 분 계시나욤..? 정보
여기 혹시 자바 잘하시는 분 계시나욤..?
본문
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개


C++에서 출발해서 파스칼보다 더 깝깝함을 느끼게 하는 자바......

제가 지금 이런 곤경에 처해 있습니다. 엑스님 도움이 절실히 필요해요.ㅠ_ㅠ 여태까지 깨어 있는 이유도...;;
http://www.seescripts.info/ko/bbs/board.php?bo_table=qna_pro_02

홈페이지 활성화 하기 딥따 어렵네요.ㅠ_ㅠ 회사원들이 과제나 물어보고...



==========================================================
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클래스를 활용해도 될것 같네요..

=======================
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()+"입니다.");
}
}
==========================================
이렇게 하면 되겠네요...

=======================
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());
}
}
=======================
이렇게 하면 되겠습니다.

