以下是我写的一个小容器,初学让大家见笑了!麻烦各位学长帮忙纠错,帮忙调试一下,万分感激!
说明: 我想从磁盘读入元素序列,并将该元素序列赋给一 个字符数组,希望该数组的长度可变(这点我没太做到),用户输入多少元素就输出其相应的元素个数,实现添加,删除,查找,判断是否为空等功能.
/**
* java实现线性表容器
* 要求用接口实现线性表的以下功能
* 求元素个数,末尾添加
* 插入元素,删除指定下标处的元素
* 求元素位址,判断是否为空等功能
*/import java.io.*;public class Xxb { public static void main(String[] args)throws IOException {
Collection1 coll;
coll=new getcount(); coll.getcount();
// 接口回掉输出元素个数方法 coll=new add('wo');
coll.add(10); coll=new delet(3);
// 接口回掉删除元素方法 coll.delet(5); coll=new insert(); coll.insert(2,'univercity');
// 在下标2处插入元素,接口回掉
coll=new at(); coll.at(6);//接口回掉 返回下标6处的元素
coll=new isEmperty();
coll.isEmperty();// 接口回掉 判断元素序列是否为空
}
}interface Collection1 { public int getcount(String[] inlist);
// 输出元素个数 public boolean add(String value);
// 末尾添加元素 public boolean delet(int index);
// 删除下表为index的元素 public boolean insert(int index, String x);// 在index下标处插入x元素 public String at(int index);
// 返回下标为index的元素 public boolean isEmperty(String[] inlist);// 判断元素序列是否为空}class XianXingBiao implements Collection1 { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = br.readLine(); String[] inlist = line.split("\\s+");
// 去掉空白符 public int getcount(String[] inlist) {
//输出元素个数 int i = 0;
i = inlist.length;
return (i);
} public boolean add(String value) {
//末尾添加元素 inlist[inlist.length] = value;
// 将要添加的元素赋给数组的最后一个元素
if (inlist[inlist.length] == value)
// 添加成功
return true;// 返回真
else
return false;// 否则返回假
} public boolean delet(int index) {
//删除下表为index的元素 int i;
if (index > 0 && index < inlist.length)
// 存在下标
{
for (i = index; i < inlist.length; i++)
inlist[i] = inlist[i + 1];
// 后一个元素覆盖前一个元素达到删除目的
return true;// 删除成功返回真 } else
return false;// 否则返回假
}public boolean insert(int index,String x){//在index下标处插入x元素 if(index>0&&index<inlist.length)
// 下标存在
{
for(int i=inlist.length;i>=index;i--)
// 从最后一个元素开始到index
inlist[i+1]=inlist[i];// 元素逐个后移
inlist[index]=x;// 插入元素
inlist.length=inlist.length+1;// 数组长度加1
return true;// 插入成功返回真
}
else
{
return false;// 否则返回假
}
}public String at(int index) {
// 返回下标为index的元素 if (index > 0 && index < inlist.length)
// 下标存在
return inlist[index];
// 返回下标为index的元素
else
System.out.println("不存在下表为index的元素!");
// 否则元素不存在
return ("-1");
}public boolean isEmperty(String[] inlist) {
//判断元素序列是否为空 if (inlist.length != 0)
// 数组不为空返回真,否则返回假
{
return true;
} else {
return false;
}
}}
说明: 我想从磁盘读入元素序列,并将该元素序列赋给一 个字符数组,希望该数组的长度可变(这点我没太做到),用户输入多少元素就输出其相应的元素个数,实现添加,删除,查找,判断是否为空等功能.
/**
* java实现线性表容器
* 要求用接口实现线性表的以下功能
* 求元素个数,末尾添加
* 插入元素,删除指定下标处的元素
* 求元素位址,判断是否为空等功能
*/import java.io.*;public class Xxb { public static void main(String[] args)throws IOException {
Collection1 coll;
coll=new getcount(); coll.getcount();
// 接口回掉输出元素个数方法 coll=new add('wo');
coll.add(10); coll=new delet(3);
// 接口回掉删除元素方法 coll.delet(5); coll=new insert(); coll.insert(2,'univercity');
// 在下标2处插入元素,接口回掉
coll=new at(); coll.at(6);//接口回掉 返回下标6处的元素
coll=new isEmperty();
coll.isEmperty();// 接口回掉 判断元素序列是否为空
}
}interface Collection1 { public int getcount(String[] inlist);
// 输出元素个数 public boolean add(String value);
// 末尾添加元素 public boolean delet(int index);
// 删除下表为index的元素 public boolean insert(int index, String x);// 在index下标处插入x元素 public String at(int index);
// 返回下标为index的元素 public boolean isEmperty(String[] inlist);// 判断元素序列是否为空}class XianXingBiao implements Collection1 { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = br.readLine(); String[] inlist = line.split("\\s+");
// 去掉空白符 public int getcount(String[] inlist) {
//输出元素个数 int i = 0;
i = inlist.length;
return (i);
} public boolean add(String value) {
//末尾添加元素 inlist[inlist.length] = value;
// 将要添加的元素赋给数组的最后一个元素
if (inlist[inlist.length] == value)
// 添加成功
return true;// 返回真
else
return false;// 否则返回假
} public boolean delet(int index) {
//删除下表为index的元素 int i;
if (index > 0 && index < inlist.length)
// 存在下标
{
for (i = index; i < inlist.length; i++)
inlist[i] = inlist[i + 1];
// 后一个元素覆盖前一个元素达到删除目的
return true;// 删除成功返回真 } else
return false;// 否则返回假
}public boolean insert(int index,String x){//在index下标处插入x元素 if(index>0&&index<inlist.length)
// 下标存在
{
for(int i=inlist.length;i>=index;i--)
// 从最后一个元素开始到index
inlist[i+1]=inlist[i];// 元素逐个后移
inlist[index]=x;// 插入元素
inlist.length=inlist.length+1;// 数组长度加1
return true;// 插入成功返回真
}
else
{
return false;// 否则返回假
}
}public String at(int index) {
// 返回下标为index的元素 if (index > 0 && index < inlist.length)
// 下标存在
return inlist[index];
// 返回下标为index的元素
else
System.out.println("不存在下表为index的元素!");
// 否则元素不存在
return ("-1");
}public boolean isEmperty(String[] inlist) {
//判断元素序列是否为空 if (inlist.length != 0)
// 数组不为空返回真,否则返回假
{
return true;
} else {
return false;
}
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货