【Java】LineListDemo
新的
import week02.LineLisDemo;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
LineLisDemo LineList=new LineLisDemo();
Scanner input=new Scanner(System.in);
System.out.println("1====添加数据====");
System.out.println("2====打印数据====");
System.out.println("3====删除数据====");
System.out.println("请输入需要的操作:");
int choice=input.nextInt();
switch(choice){
case 1:
System.out.print("请输入需要添加的元素:");
int a=input.nextInt();
LineList.adddata(a);
break;
case 2:
LineList.printDate();
break;
case 3:
System.out.println("请输入需要删除的元素下标:");
int delete=input.nextInt();
LineList.deleteDate(delete);
System.out.println("删除成功!");
break;
default:
System.out.println("输入错误!");
}
}
}
Main.java
import week02.LineLisDemo;
public class Main {
public static void main(String[] args){
LineLisDemo a=new LineLisDemo();
a.printDate();
a.adddata(6);
a.printDate();
a.adddata(7);
a.printDate();
a.adddata(8);
a.printDate();
a.insert(1,99);
a.printDate();
a.deleteDate(99);
a.printDate();
a.deleteDate_2(8);
a.searchDate(99);
a.printDate();
a.update_date(1,2);
a.printDate();
a.update_index(6,5);
a.printDate();
}
}
LineListDemo.java
package week02;
public class LineLisDemo {
private int [] data;
private int length;
public LineLisDemo() {
data=new int[100];//数组创建时已经确定数组的大小
for (int i=0;i<=5;i++){
data[i]=i+1;
}
length=5;
}
public void setData(int[] data) {this.data = data;}
public void setLength(int length) {this.length = length;}
public int[] getData() {return (this.data);}
public int getLength() {
setLength(data.length);
return (this.length);
}
public void printDate(){
for (int i=0;i<length;i++)
{
System.out.printf(data[i]+" ");
}
System.out.println();
}
public void adddata(int a){
//末尾添加一个元素
data[length]=a;
//length=length+1;
setLength(++length);//更新顺序长度
}
public boolean insert(int i,int a){
if (length >= data.length){
System.out.println("表空间已经满,不能插入");
return false;
}
if (i<0||i>=length){
System.out.println("插入数据不合理");
return false;
}
length++;
for (int j=length;j>i;j--){
data[j]=data[j-1];
}
data[i]=a;
return true;
}
public boolean deleteDate(int i){
if(i<0||i>=length){
System.out.println("删除位置不合理");
return false;
}
for(int j=i;j<length;j++){
data[j]=data[j+1];
}
length--;
return true;
}
public boolean deleteDate_2(int a){
int index=-1;
for (int i=0;i<length;i++) {
if (data[i] == a) {
System.out.println("找到" + a + "的值的下标了,下标为:" + i);
index = i;
// break;
}
}
deleteDate(index);
return true;
}
public boolean delete(int i){
for(int j=i;j<length;j++){
data[j]=data[j+1];
length--;
}
return true;
}
public int searchDate(int a){
int index=-1;
for(int i=0;i<length;i++){
if(data[i]==a){
System.out.println("找到"+a+"的值的下标了,下标为:"+i);
index=i;
}
}
return index;
}
public boolean update_index(int i,int a){
data[i]=a;
return true;
}
public boolean update_date(int a,int b){
int index=searchDate(a);
data[index]=b;
return true;
}
}