Java 平时作业三
自定义一个可以存储 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 平时作业三的更多相关文章
- Java 平时作业四
编写一个Java程序实现返回指定目录及其子目录下扩展名为*.pdf的所有文件名. 扩展: isFile public boolean isFile() 测试此抽象路径名表示的文件是否为普通文件. 如果 ...
- Java 平时作业七
以下是几本计算机书籍的基本信息 编号 书名 价格 出版社 1 JAVA 基础 32 清华大学出版社 2 JAVA WEB 开发 40 电子工业出版社 3 ...
- Java 平时作业六
编写一个 Java 应用程序,使用 Java 的输入输出流技术将 Input.txt 的内容(Input.txt 为文本 文件)逐行读出, 每读出一行就顺序为其添加行号(从 1 开始,逐行递增),并写 ...
- Java 平时作业五
使用 I/O 流和文件对象实现目录备份功能. package asg5; import java.io.File; import java.io.FileInputStream; import jav ...
- JAVA 平时作业二
编写一个 Java 应用程序,统计数组{1,3,4,7,2,1,1,5,2,5,7,2,1,1,3},统 计显示每种数字其出现的次数以及出现最多和最少次数的数字 public class Number ...
- JAVA 平时作业一
public class Print { public static void main (String arg[]) { for(int i=0;i<16;i++) { for(int j=0 ...
- 2017-2018-1 JAVA实验站 第三周作业
2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...
- JAVA作业三
(一)学习总结 1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Gr ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
随机推荐
- Lintcode489-Convert Array List to Linked List-Easy
489. Convert Array List to Linked List Convert an array list to a linked list. Example Example 1: In ...
- MapReduce实现PageRank算法(稀疏图法)
前言 本文用Python编写代码,并通过hadoop streaming框架运行. 算法思想 下图是一个网络: 考虑转移矩阵是一个很多的稀疏矩阵,我们可以用稀疏矩阵的形式表示,我们把web图中的每一个 ...
- Python简单实现决策树
__author__ = '糖衣豆豆' #决策树 import pandas as pda fname="~/coding/python/data/lesson.csv" data ...
- 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)
laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...
- 点击回到顶部(jQuery)
写这个点击回到顶部.我采用的是最简单的jQuery,的点击事件 和animate特效. html部分 <div class="pulltop"> <img sr ...
- Django框架简介-路由系统
2.2 路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. 你就是 ...
- 嵌套if-esle语句
C语言自学之嵌套if-esle语句 Dome : 获奖条件为年销售业绩100万以上,并且入职满两年的员工.小明进入公司1年,销售业绩为120万. 在代码编辑器中使用嵌套if-else语句判断小明是否有 ...
- Linux 配置ssh 免密码登录
在平常应用中,我们经常会登录到其他主机,比如说服务器,每次都需要用户名和密码. 我们可以通过ssh免密码登录服务器而不需要输入密码. 现在有一台ubuntu的阿里云服务器,称之为 server. 公 ...
- 【转】 svn: Server sent unexpected return value (403 Forbidden) in response to CHECKOUT request for-解决方法
来源:http://blog.csdn.net/xhu_eternalcc/article/details/18454481 ------------------------------------- ...
- 转载:Shell 脚本加密 - 略有修改
shc是一个加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件. shc 安装 yum -y install shc 如果yum不能安装,请移步官方下载rpm包 http ...