게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[자바][입출력] 도대체 왜 입력 받는 부분에서 오류나는 지모르겠네요.
게시물ID : programmer_2430짧은주소 복사하기
작성자 : Cat
추천 : 0
조회수 : 702회
댓글수 : 4개
등록시간 : 2014/04/06 22:44:03

아래는 소스 코드 통짜인데 제가 뭐때문에 오류가 나는지 몰라서 전부 첨부했네요. 과제 때문인데 제출시간 다되도 제가 답답해서 묻습니다.

입력받는 부분 scanner 클래스 써도 비슷한 오류때문에 버퍼리더로 해봤는데도 오류네요.

ㅠㅠㅠㅠ

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.util.Scanner;


public class report {

public static void main(String[] args) throws IOException
{
int n;
String input;
student s1 = new student();
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
s1.dump();
while(true)
{
System.out.println("모드 설정");
System.out.println("1:search 2:update 3:print 4:exit");
   
input = consoleReader.readLine();
n = Integer.parseInt(input);
switch(n)
{
case 1:
s1.search();
break;
case 2:
case 3:
case 4:
System.out.println("프로그램이 끝났습니다.");
System.exit(0);
}
}
}

}

class student
{
private int id; // 학번: 1 ~ 1,000,000
private char[] name = new char[10]; // 이름
private char[] dept = new char[12]; // 학과
private char[] gender = new char[2]; // F: 여자, M: 남자
private int age; // 나이
private double grade; // 평점
public void dump()
{
RandomAccessFile rdfile;
RandomAccessFile wdfile;
String fname;
String buf;
String buffd[];
int chk=65;
System.out.println("파일 이름을 입력하시오. ");
Scanner rdfilename = new Scanner(System.in);
fname=rdfilename.nextLine();
 
try
{
rdfile=new RandomAccessFile(fname,"r");
wdfile=new RandomAccessFile("student.dat","rw");
while((buf=rdfile.readLine())!= null)
{
buffd=buf.split(" ");
id=Integer.parseInt(buffd[0]);
wdfile.seek((id-1)*chk);
wdfile.writeBytes(buf);
}
rdfile.close();
wdfile.close();
}
catch(FileNotFoundException e)
{
System.out.println("파일을 찾을 수 없습니다.");
System.exit(1);
} catch (IOException e)
{
System.out.println("에러 발생.");
e.printStackTrace();
}
rdfilename.close();
}
public void search() throws IOException
{
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
RandomAccessFile rdfile;
int Pid;
int chk=65;
String buf;
String buffd[];
String input = consoleReader.readLine();
Pid=Integer.parseInt(input);
try
{
rdfile=new RandomAccessFile("student.dat","r");
rdfile.seek((Pid-1)*chk);
buf=rdfile.readLine();
buffd=buf.split(" ");
id=Integer.parseInt(buffd[0]);
if(id>0)
{
System.out.println(buf);
}
else
{
System.out.println("학생이 없습니다. ");
}
rdfile.close();
catch (FileNotFoundException e)
{
System.out.println("파일을 찾을 수 없습니다.");
System.exit(1);
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
};

꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호