Java数据结构的一些基础(更新完成)

1,输入方法

java.util.Scanner类

<pre name="code" class="java">Scanner scan=new Scanner(System.in);

 

通过scan调用下列方法:
next():读写字符串
nextInt() :读写整形数据
nextFloat() :读写浮点
nextDouble() :

nextLine() :读取一行数据
nextByte() :读取字节数据
2,随机数

Math.random()表示从0到1内的随机数。
(int)限定为整型,*2即0->2之间的数,不包括2。
class createRandom{
 private int random;
 
 public int getRandom(){
  random=(int)(Math.random()*2);
  return random;
  }
 }
 
public class RandomNumber{
 public static void main(String[] args){
  createRandom cr=new createRandom();
  System.out.println(cr.getRandom());
  }
 }

3.线性表的基础练习,基本操作详细设计

T1:基本操作结构
package ch2;
import java.util.PrimitiveIterator.OfDouble;
import java.util.Scanner;

import javax.xml.crypto.dsig.spec.ExcC14NParameterSpec;

import jdk.nashorn.internal.objects.DataPropertyDescriptor;
public class SeqList {
	Scanner scan=new Scanner(System.in);
	private int maxn=100;
	private int n=-1;
	private Object[] data;
	
	public void initate(){
		data=new Object[maxn];
		n=0;
		System.out.print("初始化完毕");
		}
	
	public void displayData(){
		if(n<1){
			System.out.println("线性表无数据");
			}else{
				for(int i=1;i<=n;i++){
					System.out.print(data[i]+" ");
			}
		}
	}
	
	public int getSize(){
		return n;
	}
	
	public void add(Object obj)throws Exception{
		if(n==-1){
			throw new Exception("未初始化");
		}
		if(n==maxn){
			throw new Exception("已满");
		}
		data[n+1]=obj;
		n++;
	}
	
	public void insert()throws Exception{
		System.out.print("请输入要插入第几个数据后面:");
		int i=scan.nextInt();
		if(i<0||i>n){
			throw new Exception("位置错误,请确定插入位置");
		}
		if(n==maxn){
			throw new Exception("已满");
		}
		System.out.println("请输入数据:");
		Object obj=scan.next();
		for(int j=n;j>i;j--){
			data[j+1]=obj;
			n++;
		}
	}
	public Object delete(int i)throws Exception{
		Object it=data[i];
		if(i<0||i>n){
			throw new Exception("位置错误,请确定插入位置");
		}
		for(int j=i;j<n;j++){
			data[j]=data[j+1];
		}
		n--;
		return it;
	}
	public Object getData() throws Exception{
		System.out.print("请输入你要查询的第几个数");
		int i=scan.nextInt();
		if(i<0||i>n){
			throw new Exception("无数据");
		}
		System.out.print("你要查找的数据是:"+data[i]);
		return data[i];
	}
	public void updataData(){
		System.out.print("请输入你要修改的第几个数");
		int i=scan.nextInt();
		if(i<=0||i>n){
			return;
		}
		System.out.print("请输入修改的数据为:");
		Object obj=scan.next();
		data[i]=obj;
	}
}

T2:操作菜单
package ch2;

import java.util.Scanner;
public class SeqListMain {
	public static void main(String []args){
		SeqList seqlist=new SeqList();
		   Scanner scan=new Scanner(System.in);
		   int select;
		   do{
			   System.out.println("-----operation------");
			   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.退出\n");
			   System.out.println("请输入:");
			   select=scan.nextInt();
			   switch(select){
			   case 1:
				   seqlist.initate();
				   break;
			   case 2:
				   seqlist.displayData();
				   break;
			   case 3:
				   if(seqlist.getSize()==0){
					   System.out.print("线性表空");
				   }else{
					   System.out.print("元素的个数是:");
					   System.out.print(seqlist.getSize());
				   };
				   break;
			   case 4:
				   System.out.print("请输入要加入的数据:");
				   Object obj=scan.next();
				   try{
					   seqlist.add(obj);
				   }catch (Exception e) {
					   System.out.print(e.toString());
					// TODO: handle exception
				}
				   break;
			   case 5:
				   try{
					   seqlist.insert();
				   }catch (Exception e) {
					   System.out.print(e.toString());
					// TODO: handle exception
				}
				   break;
			   case 6:
				   System.out.println("请输入你要删除第几个数:");
				   int i=scan.nextInt();
				   if(seqlist.getSize()==0){
					   System.out.print("表空");
				   }
				   if(i<0||i>seqlist.getSize()){
						System.out.print("位置错误,请确定插入位置");
					}
				   try{
					   seqlist.delete(i);
				   }catch (Exception e) {
					   System.out.print(e.toString());
					// TODO: handle exception
				}
				   break;
			   case 7:
				   try{
					   seqlist.getData();
				   }catch (Exception e) {
					   System.out.print(e.toString());
					// TODO: handle exception
				}
				   break;
			   case 8:
				   int number=0;
				   int index=0;
				   seqlist.updataData();
				   break;
			   case 9:
				   System.out.print("正在退出");
				   System.exit(0);break;
			   }
		   }while(true);
	}
}

4:Java的基本数据结构类

Collection

├List

│├LinkedList

│├ArrayList

│└Vector

│ └Stack

└Set

Map

├Hashtable

├HashMap

└WeakHashMap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值