java를 이용한 타자연습프로그램을 만들기 flowchart,statediagram,소스
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

java를 이용한 타자연습프로그램을 만들기 flowchart,statediagram,소스에 대한 보고서 자료입니다.

목차

1. [기본 개념 확립 및 설계]
1-1. 블록 개념 설계
1-2. 하위 시스템 설계
1-3. 하위 시스템을 그보다 하위 시스템으로 분할.

2.[구현할 기능]

3. [추가 기능 구현]

4. 윈도우 에플릿 프로그래밍

5. [알고리즘] (함수 실행 순서)

6. [소스코드 분석]

본문내용

extShort2.setText("");
textShort2.requestFocus();
}
// 타자속도를 계산하는 함수이다.
public void callScore()
{
if (total!=0)// 첫 실행일 경우에는 0이므로 실행되지 않는다.
// total이 계속 문장의 변화에 따라 갱신되므로 누적된다.
{
double tTime = (new Date().getTime() - stime)/1000/60;
ctt = (int)(count/tTime);
// 받아온 시간에서 시작한 시간(stime)을 뺀 후 분당 시간의 속도를 계산한다.
// 시간의 속도에서 글자수(count)를 나누어주면 분당 타자수가 나오게 된다.
if (ctt>mtt)
{
mtt = ctt;
}
// 각각의 나온 속도를 비교하여 최고속도를 지정해준다.
ttt = ttt + ctt;
// 각각의 속도를 누적한다.
ett = (int)ttt/total;
}
// 속도의 누적을 화면 갱신의 수 (total)로 나누면 평균 타율이 나온다.
t1.setText(""+ctt);
t2.setText(""+mtt);
t3.setText(""+ett);
}
// 각각의 속도를 화면에 갱신해준다.
6-7. reset()함수, changWord()함수, ChangWord()클래스
// 모든 것들을 초기상태로 리셋해주는 함수를 말한다.
public void reset()
{
ctt = 0;
mtt = 0;
ett = 0;
ttt = 0;
total = 0;
}
// 각각의 평균속도를 모두 리셋해준다.
// 두 가지 언어 영어와 명언(한글)의 전환을 담당한다.
public void changeWord()
{
if (bWord.getLabel().equals("영어로 바꾸기"))
{
words = sWords2;
bWord.setLabel("명언으로 바꾸기");
}
// 기본적으로는 명언으로 되어있으며 버튼이 눌려질 경우에 화면의 text와 문장이 바뀐다.
else
{
words = sWords;
bWord.setLabel("영어로 바꾸기");
}
}
public class ChangeWord implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
reset();
changeWord();
nextWord();
}
}
// 앞서 리스너의 ChangeWord()를 실행시키면 reset()과 바로 위의 changeWord()와
// nextWord()를 실행시킨다.
6-8. ShowLink()로 mailto를 실행한다.
public class ShowLink implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
try
{
URL u = new URL("mailto:kimwindow1@hotmail.com");
AppletContext text = getAppletContext();
text.showDocument(u);
}catch(Exception e)
{
showStatus("Error : " + e);
}
}
}
// action 이벤트를 통하여 kimwindow1@hotmail.com로 mailto를 실행한다.
6-9. 타자 입력 시 오타검출과 타자 수 그리고 단문전환을 맡아하는 부분이다.
private class KeyHandler implements KeyListener
{
public void keyPressed(KeyEvent ke)
{
if (sFlag==false)// 첫 입력인지를 판별한다.
{
stime = new Date().getTime();// 타율 계산을 위한 초기 시간입력
sFlag = true;// 첫 입력이 아니라고 표시를 해준다.
}
if ((ke.getKeyCode()
==ke.VK_ENTER)&&(textShort1.getText().equals(textShort2.getText().trim())))
// 보기의 텍스트와 입력 텍스트의 비교를 한다.
{
nextWord();// 입력이 맞을 시 다음 문장으로 전환
}
if (ke.getKeyCode()==ke.VK_BACK_SPACE)
{
count--;// 백 스페이스로 지울 시 타자 수를 감소시켜준다.
}
}
public void keyReleased(KeyEvent ke)
{
if ((ke.getKeyCode()==
ke.VK_SPACE)&&(textShort1.getText().equals(textShort2.getText().trim())))
// 보기의 텍스트와 입력 텍스트의 비교를 한다. 엔터대신 스페이스의 사용도 허가한다.
{
nextWord();// 입력이 맞을 시 다음 문장으로 전환
}
count++;
// 글자가 입력되면 실행이 되어 타자수를 계속 증가시켜 준다.
if ( textShort2.getText().substring(0, textShort2.getText().length()-1)
.equals(textShort1.getText().substring
(0, textShort2.getText().length()-1) ))
textShort1.setForeground(Color.black);
else
textShort1.setForeground(Color.red);
}
// 글자가 입력 된 것이 틀릴 경우에는 빨간색을 입력해 준다.
// 정확할 경우에는 검은색을 입력해 준다.
public void keyTyped(KeyEvent ke)
{
}
}
// 기본적으로 2벌식 자판으로 설정되어 있기 때문에 기본세팅이 된다.
6-10. 처음으로 돌아가는 reset()의 실행 부분이다.
private class ActionHandler implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
reset();
// 앞서 다루었던 타자 속도에 쓰인 변수들을 초기화 해준다.
nextWord();
// 새로 시작하기 위하여 다른 문장을 출력해준다.
}
}
}
7. [프로그램 실행]
  • 가격2,000
  • 페이지수10페이지
  • 등록일2007.03.04
  • 저작시기2006.11
  • 파일형식한글(hwp)
  • 자료번호#391278
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니