自定义一个可以存储 int 类型的集合类(例如:SequenceList),封装一维数组存储数据,该 集合类具有以下方法:

(1)新增元素;

(2)在指定位置插入一个元素;

(3)按位置删除元素;

(4)按值删除元素

(5)排序(增序,降序)

(6)查询指定元素,返回下标位置。

 import java.util.Scanner;

 public class SequenceList {

     public static void main(String[] args) {
int a[] = { 1,5,4,6,8,3,4,0 };
int key;
int elem,index;
String c;
boolean flag=true;
Scanner sc = new Scanner(System.in);
IntUtil test = new IntUtil(a); out: while(flag) {
System.out.println("请输入相关选项:");
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)查询指定元素,返回下标位置");
System.out.println("(0)退出");
key = sc.nextInt();
switch(key) {
case 1:
System.out.println("请输入要添加的元素");
elem=sc.nextInt();
test.addElement(elem);
break;
case 2:
System.out.println("请输入添加的元素及位置");
elem=sc.nextInt();
index=sc.nextInt();
test.addElementAtIndexOf(elem, index);
break;
case 3:
System.out.println("请输入要删除元素的位置");
index=sc.nextInt();
test.deleteElementAtIndexOf(index);
break;
case 4:
System.out.println("请输入要删除的元素的值");
elem=sc.nextInt();
test.deleteElement(elem);
break;
case 5:
test.arraySortUp();
break;
case 6:
test.arraySortDown();
break;
case 7:
System.out.println("请输入要查找的元素");
elem=sc.nextInt();
test.searchElement(elem);
break;
case 0:
flag=false;
System.out.println("程序已结束");
break out;
default:
System.out.println("没有该选项,请重新输入");
continue;
}
System.out.println("是否继续?y/n");
c=sc.next();
if(c.equals("n"))
{ flag=false;
System.out.println("程序已结束");
}
if(c.equals("y"))
flag=true;
} } } class IntUtil {
int array[]; public IntUtil(int a[]) {
super();
array = a;
} public void arraySortDown() {
// TODO Auto-generated method stub for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] < array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
show();
} public void arraySortUp() {
// TODO Auto-generated method stub
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
show();
} void addElement(int a) {
int[] newArray = new int[array.length + 1]; for (int i = 0; i < array.length; i++) {
newArray[i] = array[i];
} newArray[array.length] = a; array = newArray; show();
} void addElementAtIndexOf(int a, int index) {
index=index-1;
int[] newArray = new int[array.length + 1]; for (int i = 0; i < index; i++) {
newArray[i] = array[i];
} newArray[index] = a; for (int i = index + 1; i < array.length; i++) {
newArray[i] = array[i - 1];
}
newArray[array.length] = array[array.length - 1];
array = newArray;
show();
} void deleteElementAtIndexOf(int index) {
int[] newArray = new int[array.length - 1]; for (int i = 0; i < index - 1; i++) {
newArray[i] = array[i];
} for (int i = index; i < array.length; i++) {
newArray[i - 1] = array[i];
}
array = newArray;
show();
} void deleteElement(int a) {
for (int i = 0; i < array.length; i++) {
if (a == array[i]) {
deleteElementAtIndexOf(i + 1);
}
} } int elementAt(int a) {
return 0;
} int searchElement(int a) {
for(int i=0;i<array.length;i++)
{
if(array[i]==a)
{ System.out.println("该数的下标为"+i);
return 0;
} }
System.out.print("该数不存在");
return 0;
} void show() {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
System.out.println();
}
}

Java 平时作业三的更多相关文章

  1. Java 平时作业四

    编写一个Java程序实现返回指定目录及其子目录下扩展名为*.pdf的所有文件名. 扩展: isFile public boolean isFile() 测试此抽象路径名表示的文件是否为普通文件. 如果 ...

  2. Java 平时作业七

    以下是几本计算机书籍的基本信息 编号  书名         价格      出版社 1  JAVA 基础   32   清华大学出版社 2  JAVA WEB 开发  40   电子工业出版社 3  ...

  3. Java 平时作业六

    编写一个 Java 应用程序,使用 Java 的输入输出流技术将 Input.txt 的内容(Input.txt 为文本 文件)逐行读出, 每读出一行就顺序为其添加行号(从 1 开始,逐行递增),并写 ...

  4. Java 平时作业五

    使用 I/O 流和文件对象实现目录备份功能. package asg5; import java.io.File; import java.io.FileInputStream; import jav ...

  5. JAVA 平时作业二

    编写一个 Java 应用程序,统计数组{1,3,4,7,2,1,1,5,2,5,7,2,1,1,3},统 计显示每种数字其出现的次数以及出现最多和最少次数的数字 public class Number ...

  6. JAVA 平时作业一

    public class Print { public static void main (String arg[]) { for(int i=0;i<16;i++) { for(int j=0 ...

  7. 2017-2018-1 JAVA实验站 第三周作业

    2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...

  8. JAVA作业三

    (一)学习总结 1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Gr ...

  9. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

随机推荐

  1. tp5.1中的容器和facade的实现

    首先定义: 容器(Container)实现类的统一管理,确保对象实例的唯一性. 门面(Facade)为容器(Container)中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可 ...

  2. git误commit大文件导致不能push问题解决

    git push时终端报错: error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Ent ...

  3. CentOS7.4用yum安装并配置MySQL5.7

    1.配置YUM源 下载MySQL源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 安装MySQ ...

  4. Disable access to Windows Update

    Disable access to Windows Update If this policy setting is enabled, all Windows Update features are ...

  5. final model for bioinformatics

    final model for bioinformatics 模拟真实的生物系统,从有机分子到细胞,到组织,到器官,到个体,到家系,到群体. 正确的设计结构,可拓展性,可塑性. 良好的可视化. 面向对 ...

  6. multiThread (一)

    并发系列(1)之 Thread 详解   阅读目录 一.线程概述 二.线程状态 三.源码分析 1. native注册 2. 构造方法和成员变量 3. start 方法 4. exit 方法 5. 弃用 ...

  7. 使用session统计在线人数

    效果图如下 这里是Chrome浏览器新登录一个用户 代码展示 package com.test.Util; import java.util.ArrayList; import javax.servl ...

  8. webstrom

    1.webstrom如何在左边显示多个工程 File-> Settings -> Directories -> Add Content Root,选择你要加入的Project 点击O ...

  9. Android中控件之间添加分割线

    将以下view标签放置在需要分割的两个控件之间: <View android:layout_width=”match_parent” android:layout_height=”1dp” an ...

  10. if-else语句

    C语言自学之if-else语句 Dome : 今年是2014年编写程序判断今年是闰年还是平年. 请在代码编辑器中使用简单if-else语句补全代码,判断今年是否是闰年. 运行结果: 今年是平年 #in ...