我的作业v3.0
来源:互联网 发布:河朔三镇 知乎 编辑:程序博客网 时间:2024/05/21 21:45
import java.util.Iterator;
import java.util.Random;
public class SeqShuffle implements Iterable{
private int[] cards;
SeqShuffle(int cnt){
cards = new int[cnt];
for(int i=0; i<cnt; i++){
cards[i] = i;
System.out.println(cards[i]);
}
Random rd = new Random(System.currentTimeMillis());
for(int i=cnt-1; i>0; --i){
int j = rd.nextInt(i);
int temp =cards[i];
cards[i] = cards[j];
cards[j] = temp;
System.out.print("第"+(cnt-i)+"次变换:");
for(int k=0; k<cnt; k++){
System.out.print(cards[k]);
}
System.out.println();
}
}
public Iterator iterator(){
return new ItrSeqShuffle(this.cards);
}
}
_________________________________________________________________________________-
//ItrSeqShuffle.java
import java.util.Iterator;
public class ItrSeqShuffle implements Iterator {
private int curpos;
private int[] cards;
public ItrSeqShuffle(int[] cards){
curpos = -1;
this.cards = cards;
}
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return ++curpos < cards.length;
}
@Override
public Object next() {
// TODO Auto-generated method stub
return cards[curpos];
}
}
_______________________________________________________________________________
//TestShuffle.java
import java.util.Iterator;
public class TestShuffle {
public static void main(String[] args){
SeqShuffle seqShuffle = new SeqShuffle(7);
for(Object q:seqShuffle){
System.out.print(q);
}
System.out.println();
}
}
- 我的作业v3.0
- 我的项目经验v3.0
- 我的作业v1.0
- 我的作业
- [原创]我的作业
- 我的第一次作业
- 我的作业(二)
- 我的作业(三)
- 我的一份作业
- 我的作业1
- 我的作业2
- 我的作业展示
- 关于我的作业
- 我的 html作业
- 我的作业
- 我的VB作业
- 我的VB作业
- 我的集训队作业
- 【POJ】-2406-Power Strings(KMP)
- Java 继承 - 字段不能被覆盖
- Android之Fragment懒加载
- poj1930(无限循环小数化成分数)
- c语言程序设计1-2章的知识点
- 我的作业v3.0
- 算法基础复习-QuickSort
- 10.31
- bzoj 3175: [Tjoi2013]攻击装置 最大独立集 网络流
- LeetCode 357. Count Numbers with Unique Digits
- 【JZOJ4835】【GDOI2017模拟10.31】量化交易
- Winsock的同步异步模式
- 第九周 OJ总结<6>-第几天
- 技术学习