일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- network
- mindmap
- 게시판 제작
- Ecilpse
- 메소드
- 소켓
- jdbc
- 이클립스 설정
- sequence diagram
- Eclipse
- 자바
- FIle
- 클래스
- 파일
- IO
- System Requirement Specification
- Database
- 네크워크
- vision document
- jdk설치
- 데이터베이스
- 게시판
- 제안서
- java
- 설정
- analysis
- js꼬리
- workspace
- srs
- custom Tag
- Today
- Total
공적's life
2-2 문서 관리 (상세보기) 본문
이제 전에 만들었던 등록부분을 다시 고쳐보도록 하죠
// 문서 등록 폼 Register Document Form
// 문서 등록 Register Document
// 문서 상세 보기 view Document
// 문서 목록 보기 view Document List
// 문서 삭제 Delete Document
// 문서 수정 폼 Edit Document Form
// 문서 수정 Edit Document
// 1. 사용법 출력
System.out.println("문서 등록 폼: ex) RF");
System.out.println("문서 등록: ex) RD:제목:내용 ");
System.out.println("문서 상세 보기: ex) VD:문서번호 ");
System.out.println("문서 목록 보기: ex) VL ");
System.out.println("문서 삭제: ex) DD:문서번호 ");
System.out.println("문서 수정폼: ex) EF:문서번호 ");
System.out.println("문서 수정: ex) ED:제목:내용 ");
우린 친절한 시스템이 좋잖아요 그래서 이렇게 여러가지 정의했어요!! 사용법을 안내해주죠
//2. 사용자 입력
InputStreamReader inputStreamReader =new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(inputStreamReader);
String userInputData = br.readLine();
//3. 데이터 추출
//3.1 데이터 구분하기
String outputData[]=userInputData.split("\\:");
//3.2 사용자의 의도 알아 내기
String userAction = outputData[0].toUpperCase();
기존과 다르게 다른 여러가지 행동이 있기 때문에 이런식으로 분류를 합니다. toUpperCase()이 메소드에 정체는
모든 문자를 대문자로 변환해주는 것입니다. 사용자가 소문자로 입력해도 처리가 됩니다.
else if(userAction.equals("RD")){
//3.2 제목 추출
String title = outputData[1];
//3.3 내용 추출
String content = outputData[2];
//4. 유효성 검사
if(title.length()<1 && title.length()>600 ){
return ;
}
if(content.length()<1 && content.length()>2000){
return ;
}
//5. 문서 번호 가져오기
int seq = 1;
//6. 등록일 가져오기
Date registDate= new Date();
//7. 조회수 입력
int hit= 0;
//8. 등록
//9. 결과 출력
System.out.println("등록 완료");
}
else if(userAction.equals("VD")){
System.out.println("글번호 : "+ seq);
System.out.println("제목 : " + title);
System.out.println("등록일 : " + registDate);
System.out.println("조회수 : " + hit);
System.out.println("내용 : " + content);
}
else if(userAction.equals("VL")){}
else if(userAction.equals("DD")){}
else if(userAction.equals("EF")){}
else if(userAction.equals("ED")){}
else{
System.out.println("잘못 입력하셨습니다");
}
시스템이 정의한대로 입력하면 이런식으로 분류가 되겠네요.
그치만 여기에서 문제점이 있습니다. 바로 바로
위에 밑줄 친 부분들이 컴파일 에러가 나죠
왜그럴까요? 그 이유는 저러한 변수를 정의한 곳이 없서서 그렇습니다.
변수가 영향을 받는 곳은 {} 이속에서만 가능합니다
예를 들어서
public class testA{ //1
int classA;
public methodA(){ //1-1
int methodA;
}//1-1
public methodB(){//1-2
int methodB;
}//1-2
}//1
이렇게 구성되어 있다고하면
int classA;
이 변수는 methodA와 methodB에서 참조가 가능합니다.
하지만 methodB에서 int methodA; 를 참조를 할수 없다는 거죠.
이러한 것으로 보아서 가장 바깥에 있는 //1 { } 요기는 //1-1 //1-2 에서 참조 할수있지만
//1-1 //1-2 는 서로 독립적으로 된다는 것을 알수 잇었고. 역으로는 성립이 안되다는 것을 알았네요
public class testA{ //1
int classA = 1;
public methodA(){ //1-1
int methodA = 2;
int sumResult = classA+methodA // 가능합니다
}//1-1
public methodB(){//1-2
int methodB = 3;
int modResult = methodA / methodB // 불가능합니다.
}//1-2
int methodSumResult = methodA + methodB // 불가능합니다.
}//1
이런식으로 설명이 되는 것이죠.
그래서 우리는 위쪽에서 사용되는
System.out.println("글번호 : "+ seq);
System.out.println("제목 : " + title);
System.out.println("등록일 : " + registDate);
System.out.println("조회수 : " + hit);
System.out.println("내용 : " + content);
여기에서 사용되는 {} 밖으로 옴겨 보도록하죠!!
// 저장되는 공간
int seq =0;
String title = "";
String content = "";
Date registDate = null;
int hit = 0;
if(userAction.equals("RF")){
//4. 등록 폼출력
System.out.println("제목: ");
System.out.println("내용: ");
}
else if(userAction.equals("RD")){
//4.1 제목 추출
String userInputTitle = outputData[1];
//4.2 내용 추출
String userInputContent = outputData[2];
//5. 유효성 검사
if(userInputTitle.length()<1
&& userInputTitle.length()>600 ){
return ;
}
if(userInputContent.length()<1
&& userInputContent.length()>2000){
return ;
}
//6. 문서 번호 가져오기
int systemSeq = 1;
//7. 등록일 가져오기
Date systemDate= new Date();
//8. 조회수 입력
int configHit= 0;
//9. 등록
seq = systemSeq;
title = userInputTitle;
content = userInputContent;
registDate = systemDate;
hit = configHit;
//10. 결과 출력
System.out.println("등록 완료");
}
else if(userAction.equals("VD")){
System.out.println("글번호 : "+ seq);
System.out.println("제목 : " + title);
System.out.println("등록일 : " + registDate);
System.out.println("조회수 : " + hit);
System.out.println("내용 : " + content);
}
else if(userAction.equals("VL")){}
else if(userAction.equals("DD")){}
else if(userAction.equals("EF")){}
else if(userAction.equals("ED")){}
else{
System.out.println("잘못 입력하셨습니다");
}
현재 시스템은 한건만 입력하고 처리하게 되어있네요. 이제 다음번 글쓸때 여러건을 입력하고 처리하는것을
배워 보도록하죠. 이제 실행한번 해볼까요??
문서 등록 폼: ex) RF
문서 등록: ex) RD:제목:내용
문서 상세 보기: ex) VD:문서번호
문서 목록 보기: ex) VL
문서 삭제: ex) DD:문서번호
문서 수정폼: ex) EF:문서번호
문서 수정: ex) ED:제목:내용
RF
제목:
내용:
RD:안녕하세요:다음번에 또뵈요!!
등록 완료
VD
글번호 : 1
제목 : 안녕하세요
등록일 : Tue Jul 20 18:01:59 KST 2010
조회수 : 0
내용 : 다음번에 또뵈요!!
오 잘되네요. 다음번에는 문서 목록 보기 를 해보도록하죠.
실제로 연습하실때는 제가 올린 풀소스코드를 참조해주세요^^;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Date;
public class Board {
public static void main(String[] args) throws IOException {
// 문서 등록 폼 Register Document Form
// 문서 등록 Register Document
// 문서 상세 보기 view Document
// 문서 목록 보기 view Document List
// 문서 삭제 Delete Document
// 문서 수정 폼 Edit Document Form
// 문서 수정 Edit Document
// 1. 사용법 출력
System.out.println("문서 등록 폼: ex) RF");
System.out.println("문서 등록: ex) RD:제목:내용 ");
System.out.println("문서 상세 보기: ex) VD:문서번호 ");
System.out.println("문서 목록 보기: ex) VL ");
System.out.println("문서 삭제: ex) DD:문서번호 ");
System.out.println("문서 수정폼: ex) EF:문서번호 ");
System.out.println("문서 수정: ex) ED:제목:내용 ");
// 저장되는 공간
int seq =0;
String title = null ;
String content = null;
Date registDate = null;
int hit =0 ;
while (true) {
// 2. 사용자 입력
InputStreamReader inputStreamReader = new InputStreamReader(
System.in);
BufferedReader br = new BufferedReader(inputStreamReader);
String userInputData = br.readLine();
// 3. 데이터 추출
// 3.1 데이터 구분하기
String outputData[] = userInputData.split("\\:");
// 3.2 사용자의 의도 알아 내기
String userAction = outputData[0].toUpperCase();
if (userAction.equals("RF")) {
// 4. 등록 폼출력
System.out.println("제목: ");
System.out.println("내용: ");
} else if (userAction.equals("RD")) {
// 4.1 제목 추출
String userInputTitle = outputData[1];
// 4.2 내용 추출
String userInputContent = outputData[2];
// 5. 유효성 검사
if (userInputTitle.length() < 1
&& userInputTitle.length() > 600) {
return;
}
if (userInputContent.length() < 1
&& userInputContent.length() > 2000) {
return;
}
// 6. 문서 번호 가져오기
int systemSeq = 1;
// 7. 등록일 가져오기
Date systemDate = new Date();
// 8. 조회수 입력
int configHit = 0;
// 9. 등록
seq = systemSeq;
title = userInputTitle;
content = userInputContent;
registDate = systemDate;
hit = configHit;
// 10. 결과 출력
System.out.println("등록 완료");
} else if (userAction.equals("VD")) {
System.out.println("글번호 : " + seq);
System.out.println("제목 : " + title);
System.out.println("등록일 : " + registDate);
System.out.println("조회수 : " + hit);
System.out.println("내용 : " + content);
} else if (userAction.equals("VL")) {
} else if (userAction.equals("DD")) {
} else if (userAction.equals("EF")) {
} else if (userAction.equals("ED")) {
} else {
System.out.println("잘못 입력하셨습니다");
}
}
}
}
'Programing > Java programing' 카테고리의 다른 글
2-6 다음 진행을 위한 회고 (0) | 2010.07.23 |
---|---|
2-5 문서관리 (수정) (0) | 2010.07.22 |
2-4 문서관리 (삭제) (0) | 2010.07.22 |
2-3 문서 관리 (목록 보기) (0) | 2010.07.22 |
2-1 문서 관리 (등록) (0) | 2010.07.13 |