Java 将文件读取器合并到代码中时出现问题
我已经写了这段代码,几乎完成了,但是我一直想知道如何在代码中实现filereader,将文件中的数据放入现有的数字列表/数组中。我在一些网站上查阅了如何安装filereader,但在语法方面却被一次又一次地难住了:(我还被迫坚持使用Java1.4.2,所以我不能使用Scanner之类的东西 以下是不完整的代码:Java 将文件读取器合并到代码中时出现问题,java,filereader,Java,Filereader,我已经写了这段代码,几乎完成了,但是我一直想知道如何在代码中实现filereader,将文件中的数据放入现有的数字列表/数组中。我在一些网站上查阅了如何安装filereader,但在语法方面却被一次又一次地难住了:(我还被迫坚持使用Java1.4.2,所以我不能使用Scanner之类的东西 以下是不完整的代码: import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReade
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
//Import libraries
public class phoneBook
{
static ArrayList ListNumbers = new ArrayList(); //Create array
public static void main(String[] args)
{
InputStreamReader inp = null;
BufferedReader input = null;//Create inputstreamreader and bufferedreader
int nOption = 0;
try
{
inp = new InputStreamReader(System.in);
input = new BufferedReader(inp);
while(true)
{
System.out.println("Welcome to PDA Phonebook");
System.out.println(" " + "\nWhat would you like to do?");
System.out.println("1. Enter Phone Numbers/ Add a Phone Number.");
System.out.println("2. Modify Phone Number.");
System.out.println("3. Delete Phone Number.");
System.out.println("4. Sort Phone Number.");
System.out.println("5. Show all Phone Numbers.");
System.out.println("6. Load Phone Numbers.");
System.out.println("7. Exit.");
System.out.println("\nChoose an option(1-7) >> ");
nOption = Integer.parseInt(input.readLine());
//Layout visual menu
switch(nOption)
{
case 1:
AddNumber(input);
break;
case 2:
ModifyNumber(input);
break;
case 3:
DeleteNumber(input);
break;
case 4:
SortNumber(input);
break;
case 5:
ShowAllNumbers();
break;
case 6:
LoadNumbers(input);
break;
case 7:
System.out.println("Exiting program. Press any key to continue....");
input.read();
System.exit(0);
break;
//Create cases for the input of the user
}
}
}
catch(Exception exp)
{
}
}
//create private static void for each option in the list
private static void AddNumber(BufferedReader input) throws IOException
{
NumberTemplate tmpObject = null;
tmpObject = new NumberTemplate();//create tmp object for new phone numbers
while(true)
{
System.out.println("Name belonging to the phone number >> ");
tmpObject.NumberName = input.readLine().toString();//Convert input of name to a string
System.out.println("Phone Number");
tmpObject.Number = input.readLine().toString(); //Convert input of phone number to a string
if(tmpObject != null)
ListNumbers.add(tmpObject);//Add the new phone number to the list of numbers
System.out.println("\n Do you want to add another phone number?(y/n) >>");
if(!input.readLine().toLowerCase().equals("y"))//Ask user if they want to add another number
break;//Return to list
}
}
private static void ModifyNumber(BufferedReader input) throws IOException
{
NumberTemplate tmpObject = null;
System.out.println("Name of the number to modify >> ");
String OldNumberName = input.readLine();//User inputs name of number they want to edit
int index = getNumberIndexByName(OldNumberName);
if(index == -1)//if the number does not exist
{
System.out.println(" Number belonging to " + OldNumberName+ " not found.");//Tell the user if they entered an nonexistant number name
}
else//if number does exist
{
tmpObject = (NumberTemplate)ListNumbers.get(index);
showNumber(tmpObject);
System.out.println("What you want to modify (Name|Number)? >>");
String strOption = input.readLine();//User chooses what they want to edit from the number
if("name".equals(strOption.toLowerCase()))
{
System.out.println("New Name belonging to the number >> ");
tmpObject.NumberName = input.readLine().toString();//User inputs the name they want to change the number to
}
else if("number".equals(strOption.toLowerCase()))
{
System.out.println("New number "+tmpObject.NumberName);
tmpObject.Number = input.readLine().toString();//User inputs the number they want to change
}
else
{
System.out.println("Unable to locate the property entered..");
}
ListNumbers.set(index, tmpObject);//Apply the changes to the list of numbers
}
}
private static int getNumberIndexByName(String Name)
{
int index = -1;
NumberTemplate tmp =null;
for(int i=0;i<ListNumbers.size();i++)
{
tmp = (NumberTemplate)ListNumbers.get(i);
if(tmp.NumberName.toLowerCase().equals(Name.toLowerCase()))
{
index = i;
break;
}
}
return index;//List numbers
}
private static void showNumber(NumberTemplate tnumber)
{
System.out.println(tnumber.NumberName+"\t\t"+tnumber.Number);
}
private static void DeleteNumber(BufferedReader input) throws IOException
{
System.out.println("Name of the number to delete >> ");
String OldNumberName = input.readLine();
int index = getNumberIndexByName(OldNumberName);
if(index == -1)//If number name doesn't exist
{
System.out.println(" Number belonging to " + OldNumberName+ " not found.");
}
else//if number name exists
{
ListNumbers.remove(index);//Remove the number from list of numbers
System.out.println(" Number belonging to " + OldNumberName+ "deleted successfully.");
}
}
private static void SortNumber(BufferedReader input) throws IOException
{
System.out.println("Enter the key to sort (Name|Number)? >>");
String strOption = input.readLine();//User inputs what they want to sort the numbers by
int nSize = ListNumbers.size();
String str1, str2;
if("name".equals(strOption.toLowerCase()))//Sort numbers by name
{
for(int i = 0;i<nSize;i++)
{
for(int j = (i+1);j<nSize;j++)
{
str1 = ((NumberTemplate)ListNumbers.get(i)).NumberName;
str2 = ((NumberTemplate)ListNumbers.get(j)).NumberName;
if(str1.compareToIgnoreCase(str2) > 0)
{
NumberTemplate tmp = (NumberTemplate) ListNumbers.get(i);
ListNumbers.set(i, (NumberTemplate) ListNumbers.get(j));
ListNumbers.set(j, tmp);
}
}
}
}
else if("number".equals(strOption.toLowerCase()))//Sort numbers by number
{
for(int i = 0;i<nSize;i++)
{
for(int j = (i+1);j<nSize;j++)
{
str1 = ((NumberTemplate)ListNumbers.get(i)).Number;
str2 = ((NumberTemplate)ListNumbers.get(j)).Number;
if(str1.compareToIgnoreCase(str2) > 0)
{
NumberTemplate tmp = (NumberTemplate) ListNumbers.get(i);
ListNumbers.set(i, (NumberTemplate) ListNumbers.get(j));
ListNumbers.set(j, tmp);
}
}
}
}
else
{
System.out.println("Unable to locate the property entered..");
}
ShowAllNumbers();
}
private static void ShowAllNumbers()
{
System.out.println("PDA Phone Book\n");//List all the numbers
System.out.println("Name\t\tNumber");
for(int i=0;i<ListNumbers.size();i++)
{
showNumber((NumberTemplate)ListNumbers.get(i));
}
}
private static void LoadNumbers(BufferedReader input) throws FileNotFoundException, IOException
{
{BufferedReader in = new BufferedReader(new FileReader("phoneBook.txt"));
while(true)
{
NumberTemplate tmpObject = null;
String line = in.readLine();
if (line == null)
break;
NumberTemplate nt = new NumberTemplate();
nt.NumberName = line;
line = in.readLine();
nt.Number = Integer.parseInt(line);
ListNumbers.add(nt);
}
}
}
class NumberTemplate
{
public String NumberName = "";
public String Number = "";
}
}
有以下错误:
C:\Java\bin>javac phoneBook.java
phoneBook.java:81: error: non-static variable this cannot be referenced from a s
tatic context
tmpObject = new NumberTemplate();//create tmp object for new phone numbe
rs
^
phoneBook.java:240: error: non-static variable this cannot be referenced from a
static context
NumberTemplate nt = new NumberTemplate();
^
phoneBook.java:243: error: incompatible types
nt.Number = Integer.parseInt(line);
^
required: String
found: int
Note: phoneBook.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors
该文件由45个名称和数字组成,格式如下:
name
number
name
number
etc....
您正在将
input
通过System.in
初始化传递给每个方法。您可能希望
BufferedReader in = new BufferedReader(new FileReader("foo"));
并将中的传递给方法。要使用标准输入流和文件输入流,需要额外的变量。也可以使用公共字段
有关更多信息,请查看或
可能需要一些试试/catch
此代码重复执行,直到文件末尾,读取名称,在NumberTemplate
实例中设置适当的值,然后解析整数并执行相同的操作。最后将其添加到ArrayList
编译代码
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
//Import libraries
public class phoneBook
{
static ArrayList ListNumbers = new ArrayList(); //Create array
public static void main(String[] args)
{
InputStreamReader inp = null;
BufferedReader input = null;//Create inputstreamreader and bufferedreader
int nOption = 0;
try
{
inp = new InputStreamReader(System.in);
input = new BufferedReader(inp);
while(true)
{
System.out.println("Welcome to PDA Phonebook");
System.out.println(" " + "\nWhat would you like to do?");
System.out.println("1. Enter Phone Numbers/ Add a Phone Number.");
System.out.println("2. Modify Phone Number.");
System.out.println("3. Delete Phone Number.");
System.out.println("4. Sort Phone Number.");
System.out.println("5. Show all Phone Numbers.");
System.out.println("6. Load Phone Numbers.");
System.out.println("7. Exit.");
System.out.println("\nChoose an option(1-7) >> ");
nOption = Integer.parseInt(input.readLine());
//Layout visual menu
switch(nOption)
{
case 1:
AddNumber(input);
break;
case 2:
ModifyNumber(input);
break;
case 3:
DeleteNumber(input);
break;
case 4:
SortNumber(input);
break;
case 5:
ShowAllNumbers();
break;
case 6:
LoadNumbers(input);
break;
case 7:
System.out.println("Exiting program. Press any key to continue....");
input.read();
System.exit(0);
break;
//Create cases for the input of the user
}
}
}
catch(Exception exp)
{
}
}
//create private static void for each option in the list
private static void AddNumber(BufferedReader input) throws IOException
{
NumberTemplate tmpObject = null;
tmpObject = new NumberTemplate();//create tmp object for new phone numbers
while(true)
{
System.out.println("Name belonging to the phone number >> ");
tmpObject.NumberName = input.readLine().toString();//Convert input of name to a string
System.out.println("Phone Number");
tmpObject.Number = input.readLine().toString(); //Convert input of phone number to a string
if(tmpObject != null)
ListNumbers.add(tmpObject);//Add the new phone number to the list of numbers
System.out.println("\n Do you want to add another phone number?(y/n) >>");
if(!input.readLine().toLowerCase().equals("y"))//Ask user if they want to add another number
break;//Return to list
}
}
private static void ModifyNumber(BufferedReader input) throws IOException
{
NumberTemplate tmpObject = null;
System.out.println("Name of the number to modify >> ");
String OldNumberName = input.readLine();//User inputs name of number they want to edit
int index = getNumberIndexByName(OldNumberName);
if(index == -1)//if the number does not exist
{
System.out.println(" Number belonging to " + OldNumberName+ " not found.");//Tell the user if they entered an nonexistant number name
}
else//if number does exist
{
tmpObject = (NumberTemplate)ListNumbers.get(index);
showNumber(tmpObject);
System.out.println("What you want to modify (Name|Number)? >>");
String strOption = input.readLine();//User chooses what they want to edit from the number
if("name".equals(strOption.toLowerCase()))
{
System.out.println("New Name belonging to the number >> ");
tmpObject.NumberName = input.readLine().toString();//User inputs the name they want to change the number to
}
else if("number".equals(strOption.toLowerCase()))
{
System.out.println("New number "+tmpObject.NumberName);
tmpObject.Number = input.readLine().toString();//User inputs the number they want to change
}
else
{
System.out.println("Unable to locate the property entered..");
}
ListNumbers.set(index, tmpObject);//Apply the changes to the list of numbers
}
}
private static int getNumberIndexByName(String Name)
{
int index = -1;
NumberTemplate tmp =null;
for(int i=0;i<ListNumbers.size();i++)
{
tmp = (NumberTemplate)ListNumbers.get(i);
if(tmp.NumberName.toLowerCase().equals(Name.toLowerCase()))
{
index = i;
break;
}
}
return index;//List numbers
}
private static void showNumber(NumberTemplate tnumber)
{
System.out.println(tnumber.NumberName+"\t\t"+tnumber.Number);
}
private static void DeleteNumber(BufferedReader input) throws IOException
{
System.out.println("Name of the number to delete >> ");
String OldNumberName = input.readLine();
int index = getNumberIndexByName(OldNumberName);
if(index == -1)//If number name doesn't exist
{
System.out.println(" Number belonging to " + OldNumberName+ " not found.");
}
else//if number name exists
{
ListNumbers.remove(index);//Remove the number from list of numbers
System.out.println(" Number belonging to " + OldNumberName+ "deleted successfully.");
}
}
private static void SortNumber(BufferedReader input) throws IOException
{
System.out.println("Enter the key to sort (Name|Number)? >>");
String strOption = input.readLine();//User inputs what they want to sort the numbers by
int nSize = ListNumbers.size();
String str1, str2;
if("name".equals(strOption.toLowerCase()))//Sort numbers by name
{
for(int i = 0;i<nSize;i++)
{
for(int j = (i+1);j<nSize;j++)
{
str1 = ((NumberTemplate)ListNumbers.get(i)).NumberName;
str2 = ((NumberTemplate)ListNumbers.get(j)).NumberName;
if(str1.compareToIgnoreCase(str2) > 0)
{
NumberTemplate tmp = (NumberTemplate) ListNumbers.get(i);
ListNumbers.set(i, (NumberTemplate) ListNumbers.get(j));
ListNumbers.set(j, tmp);
}
}
}
}
else if("number".equals(strOption.toLowerCase()))//Sort numbers by number
{
for(int i = 0;i<nSize;i++)
{
for(int j = (i+1);j<nSize;j++)
{
str1 = ((NumberTemplate)ListNumbers.get(i)).Number;
str2 = ((NumberTemplate)ListNumbers.get(j)).Number;
if(str1.compareToIgnoreCase(str2) > 0)
{
NumberTemplate tmp = (NumberTemplate) ListNumbers.get(i);
ListNumbers.set(i, (NumberTemplate) ListNumbers.get(j));
ListNumbers.set(j, tmp);
}
}
}
}
else
{
System.out.println("Unable to locate the property entered..");
}
ShowAllNumbers();
}
private static void ShowAllNumbers()
{
System.out.println("PDA Phone Book\n");//List all the numbers
System.out.println("Name\t\tNumber");
for(int i=0;i<ListNumbers.size();i++)
{
showNumber((NumberTemplate)ListNumbers.get(i));
}
}
private static void LoadNumbers(BufferedReader input) throws FileNotFoundException, IOException
{
BufferedReader in = new BufferedReader(new FileReader("phoneBook.txt"));
while(true)
{
NumberTemplate tmpObject = null;
String line = in.readLine();
if (line == null)
break;
NumberTemplate nt = new NumberTemplate();
nt.NumberName = line;
line = in.readLine();
nt.Number = line;
ListNumbers.add(nt);
}
}
}
class NumberTemplate
{
public String NumberName = "";
public String Number = "";
}
导入java.io.BufferedReader;
导入java.io.FileNotFoundException;
导入java.io.FileReader;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.util.ArrayList;
//导入库
公共类电话簿
{
静态ArrayList ListNumbers=新建ArrayList();//创建数组
公共静态void main(字符串[]args)
{
InputStreamReader inp=null;
BufferedReader input=null;//创建inputstreamreader和BufferedReader
int-nOption=0;
尝试
{
inp=新的InputStreamReader(System.in);
输入=新的缓冲读取器(inp);
while(true)
{
System.out.println(“欢迎使用PDA电话簿”);
System.out.println(“+”\n您想做什么?”);
System.out.println(“1.输入电话号码/添加电话号码”);
System.out.println(“2.修改电话号码”);
System.out.println(“3.删除电话号码”);
System.out.println(“4.分类电话号码”);
System.out.println(“5.显示所有电话号码”);
System.out.println(“6.加载电话号码”);
System.out.println(“7.Exit”);
System.out.println(“\n选择一个选项(1-7)>>”;
nOption=Integer.parseInt(input.readLine());
//布局可视化菜单
开关(nOption)
{
案例1:
AddNumber(输入);
打破
案例2:
修改编号(输入);
打破
案例3:
删除号码(输入);
打破
案例4:
SortNumber(输入);
打破
案例5:
ShowAllNumbers();
打破
案例6:
装载编号(输入);
打破
案例7:
System.out.println(“退出程序。按任意键继续…”);
input.read();
系统出口(0);
打破
//为用户的输入创建案例
}
}
}
捕获(异常扩展)
{
}
}
//为列表中的每个选项创建专用静态void
私有静态void AddNumber(BufferedReader输入)引发IOException
{
numberTemplateTMPObject=null;
tmpObject=newnumbertemplate();//为新电话号码创建tmp对象
while(true)
{
System.out.println(“属于电话号码>>的名称”);
tmpObject.NumberName=input.readLine().toString();//将名称的输入转换为字符串
System.out.println(“电话号码”);
tmpObject.Number=input.readLine().toString();//将电话号码的输入转换为字符串
if(tmpObject!=null)
ListNumbers.add(tmpObject);//将新电话号码添加到号码列表中
System.out.println(“\n是否要添加其他电话号码?(y/n)>>”;
if(!input.readLine().toLowerCase().equals(“y”)//询问用户是否要添加其他数字
break;//返回列表
}
}
私有静态void ModifyNumber(BufferedReader输入)引发IOException
{
numberTemplateTMPObject=null;
System.out.println(“要修改的编号的名称>>”;
String OldNumberName=input.readLine();//用户输入要编辑的数字的名称
int index=getNumberIndexByName(OldNumberName);
if(index=-1)//如果该数字不存在
{
System.out.println(“属于“+OldNumberName+”的编号未找到”);//如果用户输入了不存在的编号名称,请告诉用户
}
else//如果数字确实存在
{
tmpObject=(NumberTemplate)ListNumbers.get(index);
显示编号(tmpObject);
System.out.println(“要修改的内容(名称|编号)?>>”;
String strOption=input.readLine();//用户从数字中选择要编辑的内容
if(“name”.equals(strOption.toLowerCase()))
{
System.out.println(“属于编号>>的新名称”);
tmpObject.NumberName=input.readLine().toString();//用户输入要更改数字的名称
}
else if(“number”.equals(strOption.toLowerCase()))
{
System.out.println(“新编号”+tmpObject.NumberName);
tmpObject.Number=input.readLine().to
while(true)
{
String line = in.readLine();
if (line == null)
break;
NumberTemplate nt = new NumberTemplate();
nt.NumberName = line;
line = in.readLine();
nt.Number = Integer.parseInt(line);
ListNumbers.add(nt);
}
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
//Import libraries
public class phoneBook
{
static ArrayList ListNumbers = new ArrayList(); //Create array
public static void main(String[] args)
{
InputStreamReader inp = null;
BufferedReader input = null;//Create inputstreamreader and bufferedreader
int nOption = 0;
try
{
inp = new InputStreamReader(System.in);
input = new BufferedReader(inp);
while(true)
{
System.out.println("Welcome to PDA Phonebook");
System.out.println(" " + "\nWhat would you like to do?");
System.out.println("1. Enter Phone Numbers/ Add a Phone Number.");
System.out.println("2. Modify Phone Number.");
System.out.println("3. Delete Phone Number.");
System.out.println("4. Sort Phone Number.");
System.out.println("5. Show all Phone Numbers.");
System.out.println("6. Load Phone Numbers.");
System.out.println("7. Exit.");
System.out.println("\nChoose an option(1-7) >> ");
nOption = Integer.parseInt(input.readLine());
//Layout visual menu
switch(nOption)
{
case 1:
AddNumber(input);
break;
case 2:
ModifyNumber(input);
break;
case 3:
DeleteNumber(input);
break;
case 4:
SortNumber(input);
break;
case 5:
ShowAllNumbers();
break;
case 6:
LoadNumbers(input);
break;
case 7:
System.out.println("Exiting program. Press any key to continue....");
input.read();
System.exit(0);
break;
//Create cases for the input of the user
}
}
}
catch(Exception exp)
{
}
}
//create private static void for each option in the list
private static void AddNumber(BufferedReader input) throws IOException
{
NumberTemplate tmpObject = null;
tmpObject = new NumberTemplate();//create tmp object for new phone numbers
while(true)
{
System.out.println("Name belonging to the phone number >> ");
tmpObject.NumberName = input.readLine().toString();//Convert input of name to a string
System.out.println("Phone Number");
tmpObject.Number = input.readLine().toString(); //Convert input of phone number to a string
if(tmpObject != null)
ListNumbers.add(tmpObject);//Add the new phone number to the list of numbers
System.out.println("\n Do you want to add another phone number?(y/n) >>");
if(!input.readLine().toLowerCase().equals("y"))//Ask user if they want to add another number
break;//Return to list
}
}
private static void ModifyNumber(BufferedReader input) throws IOException
{
NumberTemplate tmpObject = null;
System.out.println("Name of the number to modify >> ");
String OldNumberName = input.readLine();//User inputs name of number they want to edit
int index = getNumberIndexByName(OldNumberName);
if(index == -1)//if the number does not exist
{
System.out.println(" Number belonging to " + OldNumberName+ " not found.");//Tell the user if they entered an nonexistant number name
}
else//if number does exist
{
tmpObject = (NumberTemplate)ListNumbers.get(index);
showNumber(tmpObject);
System.out.println("What you want to modify (Name|Number)? >>");
String strOption = input.readLine();//User chooses what they want to edit from the number
if("name".equals(strOption.toLowerCase()))
{
System.out.println("New Name belonging to the number >> ");
tmpObject.NumberName = input.readLine().toString();//User inputs the name they want to change the number to
}
else if("number".equals(strOption.toLowerCase()))
{
System.out.println("New number "+tmpObject.NumberName);
tmpObject.Number = input.readLine().toString();//User inputs the number they want to change
}
else
{
System.out.println("Unable to locate the property entered..");
}
ListNumbers.set(index, tmpObject);//Apply the changes to the list of numbers
}
}
private static int getNumberIndexByName(String Name)
{
int index = -1;
NumberTemplate tmp =null;
for(int i=0;i<ListNumbers.size();i++)
{
tmp = (NumberTemplate)ListNumbers.get(i);
if(tmp.NumberName.toLowerCase().equals(Name.toLowerCase()))
{
index = i;
break;
}
}
return index;//List numbers
}
private static void showNumber(NumberTemplate tnumber)
{
System.out.println(tnumber.NumberName+"\t\t"+tnumber.Number);
}
private static void DeleteNumber(BufferedReader input) throws IOException
{
System.out.println("Name of the number to delete >> ");
String OldNumberName = input.readLine();
int index = getNumberIndexByName(OldNumberName);
if(index == -1)//If number name doesn't exist
{
System.out.println(" Number belonging to " + OldNumberName+ " not found.");
}
else//if number name exists
{
ListNumbers.remove(index);//Remove the number from list of numbers
System.out.println(" Number belonging to " + OldNumberName+ "deleted successfully.");
}
}
private static void SortNumber(BufferedReader input) throws IOException
{
System.out.println("Enter the key to sort (Name|Number)? >>");
String strOption = input.readLine();//User inputs what they want to sort the numbers by
int nSize = ListNumbers.size();
String str1, str2;
if("name".equals(strOption.toLowerCase()))//Sort numbers by name
{
for(int i = 0;i<nSize;i++)
{
for(int j = (i+1);j<nSize;j++)
{
str1 = ((NumberTemplate)ListNumbers.get(i)).NumberName;
str2 = ((NumberTemplate)ListNumbers.get(j)).NumberName;
if(str1.compareToIgnoreCase(str2) > 0)
{
NumberTemplate tmp = (NumberTemplate) ListNumbers.get(i);
ListNumbers.set(i, (NumberTemplate) ListNumbers.get(j));
ListNumbers.set(j, tmp);
}
}
}
}
else if("number".equals(strOption.toLowerCase()))//Sort numbers by number
{
for(int i = 0;i<nSize;i++)
{
for(int j = (i+1);j<nSize;j++)
{
str1 = ((NumberTemplate)ListNumbers.get(i)).Number;
str2 = ((NumberTemplate)ListNumbers.get(j)).Number;
if(str1.compareToIgnoreCase(str2) > 0)
{
NumberTemplate tmp = (NumberTemplate) ListNumbers.get(i);
ListNumbers.set(i, (NumberTemplate) ListNumbers.get(j));
ListNumbers.set(j, tmp);
}
}
}
}
else
{
System.out.println("Unable to locate the property entered..");
}
ShowAllNumbers();
}
private static void ShowAllNumbers()
{
System.out.println("PDA Phone Book\n");//List all the numbers
System.out.println("Name\t\tNumber");
for(int i=0;i<ListNumbers.size();i++)
{
showNumber((NumberTemplate)ListNumbers.get(i));
}
}
private static void LoadNumbers(BufferedReader input) throws FileNotFoundException, IOException
{
BufferedReader in = new BufferedReader(new FileReader("phoneBook.txt"));
while(true)
{
NumberTemplate tmpObject = null;
String line = in.readLine();
if (line == null)
break;
NumberTemplate nt = new NumberTemplate();
nt.NumberName = line;
line = in.readLine();
nt.Number = line;
ListNumbers.add(nt);
}
}
}
class NumberTemplate
{
public String NumberName = "";
public String Number = "";
}