我正在创建一个医院管理系统,其中我有两个类,即AddDoctor和AddPatient,这两个类从用户那里获取有关其详细信息的输入,并将其存储到各自的文件中。现在,我想创建一个预约类,在这个类中,我可以将具有特定ID的患者分配给从文件中读取的具有特定ID的医生。如果JAVA支持多重继承,这是非常容易的,但因为它不支持多重继承,我一直在思考如何完成这项任务。请帮帮我。下面是我的AddDoctor课程
class AddDoctor{
int did;
int dage;
long dphno;
String dname;
String dgender;
String dqualification;
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
void input() throws IOException{
System.out.print("Enter Doctor's Name:");
dname = br.readLine();
Random rand = new Random();
did = rand.nextInt((9999 - 100) + 1) + 10;
System.out.print("Enter Doctor's Phone Number:");
dphno = Long.parseLong(br.readLine());
System.out.print("Enter Doctor's Age:");
dage = Integer.parseInt(br.readLine());
System.out.print("Enter Doctor's Gender:");
dgender = br.readLine();
System.out.print("Enter Doctor's Qualification:");
dqualification = br.readLine();
}
void delete() throws FileNotFoundException, IOException{
Scanner in = new Scanner(System.in);
File inputFile = new File("DoctorDetails.txt");
File tempFile = new File("myTemp.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String currentLine;
String lineToRemove;
System.out.println("Enter the ID of the Doctor you wish to delete: ");
lineToRemove = in.next();
while((currentLine = reader.readLine()) != null) {
String trimmedLine = currentLine.trim();
if(trimmedLine.startsWith(lineToRemove)) continue;
writer.write((currentLine) + System.getProperty("line.separator"));
}
writer.close();
reader.close();
Files.move(tempFile.toPath(), inputFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
void search() throws IOException{
Scanner scan=new Scanner(System.in);
System.out.println("Enter the ID of the Doctor To Search:");
String did=scan.next();
String line="";
try{
FileInputStream fin = new FileInputStream("DoctorDetails.txt");
Scanner sc = new Scanner(fin);
while(sc.hasNextLine()){
line=sc.nextLine();
if(line.startsWith(did))
System.out.println(line+" ");
}
sc.close();
}
catch(IOException e){
e.printStackTrace();
}
}
void display(){
try{
BufferedReader br=new BufferedReader(new FileReader("DoctorDetails.txt"));
String s="";
while((s=br.readLine())!=null){
String data[]=new String[6];
data=s.split(" ");
for(int i=0;i<6;i++){
System.out.print(data[i]+"\t");
}
System.out.println();
}
br.close();
}
catch(Exception e){
}
}
};
//Class WriteD to Write Doctor Details in a text file where the details are fetched from the Class AddDoctor
class WriteD extends AddDoctor {
void write() {
try(FileWriter fw = new FileWriter("DoctorDetails.txt",true);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter out = new PrintWriter(bw))
{
out.println(did + " " + dname + " " + dphno + " " + dage + " " + dgender + " " + dqualification);
}catch(IOException e){
e.printStackTrace();
}
}
};
下面是我的AddPatient课程
package patient;
import java.io.*;
import java.util.*;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
public class AddPatient{
int pid;
int page;
long pphno;
String pname;
String pgender;
String pillness;
String padmitdate;
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
public void input() throws IOException{
System.out.print("Enter Patient's Name:");
pname = br.readLine();
Random rand1 = new Random();
pid = rand1.nextInt((9999 - 100) + 1) + 10;
System.out.print("Enter Patient's Phone Number:");
pphno = Long.parseLong(br.readLine());
System.out.print("Enter Patient's Age:");
page = Integer.parseInt(br.readLine());
System.out.print("Enter Patient's Gender:");
pgender = br.readLine();
System.out.print("Enter Patient's Illness:");
pillness = br.readLine();
System.out.print("Enter Patient's Admit Date:");
padmitdate = br.readLine();
}
public void delete() throws FileNotFoundException, IOException{
Scanner in = new Scanner(System.in);
File inputFile = new File("PatientDetails.txt");
File tempFile = new File("myTemp2.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String currentLine;
String lineToRemove;
System.out.println("Enter the ID of the Patient you wish to delete: ");
lineToRemove = in.next();
while((currentLine = reader.readLine()) != null) {
String trimmedLine = currentLine.trim();
if(trimmedLine.startsWith(lineToRemove)) continue;
writer.write((currentLine) + System.getProperty("line.separator"));
}
writer.close();
reader.close();
Files.move(tempFile.toPath(), inputFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
public void search() throws IOException{
Scanner scan=new Scanner(System.in);
System.out.println("Enter the ID of the Patient To Search:");
String did=scan.next();
String line="";
try{
FileInputStream fin = new FileInputStream("PatientDetails.txt");
Scanner sc = new Scanner(fin);
while(sc.hasNextLine()){
line=sc.nextLine();
if(line.startsWith(did))
System.out.println(line);
}
sc.close();
}
catch(IOException e){
e.printStackTrace();
}
}
public void display(){
try{
BufferedReader br=new BufferedReader(new FileReader("PatientDetails.txt"));
String s="";
while((s=br.readLine())!=null){
String data[]=new String[7];
data=s.split(" ");
for(int i=0;i<7;i++){
System.out.print(data[i]+"\t");
}
System.out.println();
}
br.close();
}
catch(Exception e){
}
}
};
简单的解决方法是在预约类中使用组合创建医生和病人的对象,并从用户那里获得医生和病人的id,或者使用对象创建一个并将其写入第三个文件。
如果是id,你需要从文件中搜索信息。在新信息的情况下,因为你将创建医生和病人的对象。首先把他们放在他们的文件中,然后把数据存储在第三个文件中,因为你想要。
如果它能回答你的问题,请告诉我。
我正在创建一个医院管理系统,其中我有2个类,即Add医生和Add病人,从用户那里输入他们的详细信息,并将其存储到各自的文件中。我现在想创建一个约会类,在这个类中,我可以将具有特定ID的患者分配给从文件中读取的具有特定ID的医生。如果Java支持多重继承,这将非常容易,但是因为它不支持,所以我无法完成这项任务。 下面是我的AddDoctor课程 下面是我的AddPatient课程
我有两个XML文件,需要仅使用XSLT 1.0将其合并为第三个XML文件 文件一: 文件二: 最终结果应该输出到第三个名为output的文件中。xml,应该如下所示 我正在使用记事本将XSLT应用于第二个文件,我尝试使用 添加了编辑XSLT
问题内容: 有什么方法可以从文本文件中读取特定行?在API或Apache Commons中。就像是 : 我同意实现起来很简单,但是特别是当文件很大时,效率不是很高。 问题答案: 可以,但是仍然存在效率问题。 或者,您可以使用: 由于有缓冲,这将稍微更有效。 看一下并尝试跳过整行(使用正则表达式)。我无法确定它是否会更有效- 对其进行基准测试。 PS 代表 效率, 我的意思是 记忆效率
我有两个文件-file1.txt和file2.txt。我想用powershell比较这两个文件,并生成第三个文件(file3.txt),它包含从file1.txt开始的所有行减去file2.txt中的行 你能想出什么办法来做这件事吗?
问题内容: 交错两个(或多个)文本文件的行的最简单/最快的方法是什么?例: 文件1: 档案2: 交错式: 当然,编写一个可以同时打开它们和执行任务的Perl脚本很容易。但是我想知道是否有可能用更少的代码摆脱困境,也许是使用Unix工具的单行代码? 问题答案: