目的:创建一个读取已知文档,并对不良输入信息做出反映的程序。
文档样例:1034(编号)
Heping Park(地址)
Xiao Ming(住户) 1021
Bejing Road
Vacant(无住户)
每个信息独立一行,我觉得可能存在的不良输入信息是指出现空行。(如果高手认为有其他可能不良输入信息情况请指出,谢谢。)
简易程序表达及觉得存在的问题。
“DBReader class"
package checker;//觉得import项目过多,希望帮忙去掉不用项
import java.io.*;
import java.util.*;
import java.lang.*;//下面一段为基本结构,可跳过
public class DBReader extends Apartment{
private String filename;
public DBReader(String filename_p) {
filename = filename_p;
}
public int readDB() {
String curLine = null;
int calculater = 1;
try {
File myFile = new File(filename);
FileReader freader = new FileReader(myFile);
BufferedReader buf = new BufferedReader(freader);//请高手帮忙看下下段程序的可行性,如果有需要补充的地方请指出
while ((curLine = buf.readLine()) != null) {
calculater++;
if (curLine != "" && calculater >3){
calculater = 1;
} else if (curLine == "" && calculater > 3) {
Apartment newApt = new Apartment(int id_, String address_, String occupant_);//这地方有问题,请高手帮忙指正下
LinkedList<Apartment> apartmentList = new LinkedList<Apartment>();//这样创造LinkedList有问题吗?
apartmentList.add(newApt);//是不是把文档中2块信息分别储存到不同的Apartment类中了?
} else {//下面这种处理空行的方式可行吗?需要补充什么吗?
switch (calculater) {
case 1:
if (curLine == "")
System.out.println("ID is needed.");
else {
int id = Integer.parseInt(curLine);}
break;
case 2:
if (curLine == "")
System.out.println("Address is needed.");
else {
String address = curLine;}
break;
case 3:
if (curLine == "")
System.out.println("Occupant is needed.");
else{
String occupant = curLine;}
break;
}
}
//其他
buf.close();
freader.close();
}
}
}下面是Apartment类的设计的相关部分
package checker;//是不是又有啥用不到的import了?
import java.lang.*;public class Apartment {
private int id;
private String address;
private String occupant; public Apartment(int id_, String address_, String occupant_) {
id = id_;
address=address_;
occupant=occupant_;
}//为什么上面创建使用new Apartment(..)命令时候会出现问题?不是main程序不可以使用吗?小弟第一次发帖子,请高手指点,谢谢了!
文档样例:1034(编号)
Heping Park(地址)
Xiao Ming(住户) 1021
Bejing Road
Vacant(无住户)
每个信息独立一行,我觉得可能存在的不良输入信息是指出现空行。(如果高手认为有其他可能不良输入信息情况请指出,谢谢。)
简易程序表达及觉得存在的问题。
“DBReader class"
package checker;//觉得import项目过多,希望帮忙去掉不用项
import java.io.*;
import java.util.*;
import java.lang.*;//下面一段为基本结构,可跳过
public class DBReader extends Apartment{
private String filename;
public DBReader(String filename_p) {
filename = filename_p;
}
public int readDB() {
String curLine = null;
int calculater = 1;
try {
File myFile = new File(filename);
FileReader freader = new FileReader(myFile);
BufferedReader buf = new BufferedReader(freader);//请高手帮忙看下下段程序的可行性,如果有需要补充的地方请指出
while ((curLine = buf.readLine()) != null) {
calculater++;
if (curLine != "" && calculater >3){
calculater = 1;
} else if (curLine == "" && calculater > 3) {
Apartment newApt = new Apartment(int id_, String address_, String occupant_);//这地方有问题,请高手帮忙指正下
LinkedList<Apartment> apartmentList = new LinkedList<Apartment>();//这样创造LinkedList有问题吗?
apartmentList.add(newApt);//是不是把文档中2块信息分别储存到不同的Apartment类中了?
} else {//下面这种处理空行的方式可行吗?需要补充什么吗?
switch (calculater) {
case 1:
if (curLine == "")
System.out.println("ID is needed.");
else {
int id = Integer.parseInt(curLine);}
break;
case 2:
if (curLine == "")
System.out.println("Address is needed.");
else {
String address = curLine;}
break;
case 3:
if (curLine == "")
System.out.println("Occupant is needed.");
else{
String occupant = curLine;}
break;
}
}
//其他
buf.close();
freader.close();
}
}
}下面是Apartment类的设计的相关部分
package checker;//是不是又有啥用不到的import了?
import java.lang.*;public class Apartment {
private int id;
private String address;
private String occupant; public Apartment(int id_, String address_, String occupant_) {
id = id_;
address=address_;
occupant=occupant_;
}//为什么上面创建使用new Apartment(..)命令时候会出现问题?不是main程序不可以使用吗?小弟第一次发帖子,请高手指点,谢谢了!
你这句话是要实力化一个Apartment对象,但是构造方法里面传递应该是实际的参数,不应该在有参数定义了
也就是说你改成Apartment newApt = new Apartment(id_, address_, occupant_);
这样再看看
private String address;
private String occupant; =》 int id;
String address;
String occupant;
需要')'谁知道是哪地方出错了吗?谢谢.