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.退出 "); 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