学 号 11710115
天津城建大学
Java 语言程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
C
实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
实验3:泛型实现链
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
学生姓名
路江飞
班级
11卓越七班
一、 实验内容
1.掌握使用Java语言进行结构化程序设计;
2.熟悉Java泛型。
3.熟悉Eclipse开发环境,编写简单的Application程序,并编译和执行。
二、 实验要求
1.调试程序、编译,运行后得到正确的结果;
2.写出实验报告,要求
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
三、 实验结果
文件1:
package _List;
class Node
{
E e;
Node next;
Node(E e){
this.e=e;
next=null;
}
}
文件2:
package _List;
public class Show {
void print(){
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("* 8.查看链表长度 *");
System.out.println("* 9.退出 *");
System.out.println("*************************************");
}
}
文件3:
package _List;
import java.util.Scanner;
public class List {
Node head;
List(){
this.head=null;
}
List(E e[],int n){ //构造函数
this.head=new Node (e[0]);
Node r=this.head;
for(int i=1;is=new Node (e[i]);
r.next=s;
r=s;
}
r.next=null;
}
void add (E e){//按位置插入
int index,b=1;
Scanner input=new Scanner(System.in);
for(int j=0;b==1;j++){
System.out.print("请输入插入的位置(第一个数据之前是0号位置,以此类推):");
try{
index=input.nextInt();
}
catch(Exception a){
System.out.println("输入错误!");
continue;
}
if(index>this.Length()||index<0) {
System.out.println("插入位置错误!");
continue;
}
if(index==0){
Node s=new Node (e);
s.next=this.head;
this.head=s;
b=0;
}
else{
int i=1;
Node p=this.head;
while(is=new Node (e);
s.next=p.next;
p.next=s;
b=0;
}
}
}
void delete(){ //按位置删除
int index,b=1;
for(int j=0;b==1;j++){
Scanner input=new Scanner(System.in);
System.out.print("请输入删除的位置(第一个数据是1号位置,以此类推):");
try{
index=input.nextInt();
}
catch(Exception e){
System.out.println("输入错误!");
continue;
}
if(index>this.Length()||index<=0) {
System.out.println("删除位置错误!");
continue;
}
Node p=this.head;
int i=1;
if(index==1){
this.head=p.next;
b=0;
}
else{
while(i p=this.head;
Node q = null;
if(e.equals(p.e)){ //处理数据在1号位置的特殊情况
this.head=p.next;
}
else{
while(p!=null){
if(e.equals(p.e)){
q.next=p.next;
break;
}
q=p; //p为要删除数据的前一个
p=p.next;
}
}
if(p==null){
System.out.println("删除的数据不存在!");
}
}
void Set(E a){ //按位置修改
int index,b=1;
Scanner input=new Scanner(System.in);
for(int j=0;b==1;j++){
System.out.print("请输入修改的位置:");
try{
index=input.nextInt();
}
catch(Exception e){
System.out.println("输入错误!");
continue;
}
int i=1;
Node p=this.head;
if(index<=0||index>this.Length()) {
System.out.println("修改位置错误!");
continue;
}
while(i p=this.head;
while(p!=null){
count++;
p=p.next;
}
return count;
}
void Get(){ //按位查找
int index,b=1;
for(int j=0;b==1;j++){
Scanner input=new Scanner(System.in);
System.out.print("请输入查询的位置:");
try{ //检测异常
index=input.nextInt();
}
catch(Exception e){ //捕捉异常
System.out.println("输入错误!");
continue;
}
int i=1;
Node p=this.head;
if(index>this.Length()||index<=0){
System.out.println("查找位置错误!");
continue;
}
while(i p=this.head;
int index=1;
for(int i=0;p!=null;i++){
if(e.equals(p.e)){ //不能写成p.e==e和s1==s2
System.out.println(p.e.toString()+"是第"+index+"个数!");
break;
}
else{
p=p.next;
index++;
}
}
if(p==null)
System.out.println("所找的数据不存在!");
}
void printlist(){ //遍历
Node p=this.head;
if(p==null){
System.out.println("链表没有元素");
}
else{
while(p.next!=null){
System.out.print(p.e.toString()+" ");
p=p.next;
}
System.out.println(p.e.toString());
}
}
}
文件4:
package _List;
import java.util.Scanner;
public class MainClass {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str[]={"12","43","54","23","abc"};
int lenth=str.length;
int k=1,t=0;
List a=new List(str,lenth);//初始化链表
Show show=new Show();
show.print();
for(int i=0;k==1;i++){
System.out.print("请选择您的操作:");
try{
Scanner input=new Scanner(System.in);
t=input.nextInt();
}
catch(Exception e){
System.out.println("输入错误!");
continue;
}
Scanner input1=new Scanner(System.in);
switch (t){
case 1:
a.Get();
break;
case 2:
System.out.print("请输入您要查找的数据:");
String h=input1.nextLine();
a.Get1(h);
break;
case 3:
System.out.print("请输入您要插入的数据:");
String m=input1.nextLine();
a.add(m);
break;
case 4:
a.delete();
break;
case 5:
System.out.print("请输入您要删除的数据:");
String s=input1.nextLine();
a.delete(s);
break;
case 6:
System.out.print("请输入您要修改后的数据:");
String n=input1.nextLine();
a.Set(n);
break;
case 7:
a.printlist();
break;
case 8:
System.out.println("链表的长度:"+a.Length());
Break ;
case 9:
k=0;
break;
default:
System.out.println("输入错误!");
break;
}
}
}
}
运行结果: