1. 程式人生 > >Algs4-1.2.2編寫一個Interval1D的用例

Algs4-1.2.2編寫一個Interval1D的用例

接受 photo generate 令行 -i emp 相交 isempty integer

1.2.2編寫一個Interval1D的用例,從命令行接受一個整數N。從標準輸入中讀取N個間隔(每個間隔由一對double值定義)並打印出所有相交的間隔對。
解:
技術分享圖片
public class Test2
{
public static void main(String[] args)
{
int N=Integer.parseInt(args[0]);
Interval1D[] interArray=new Interval1D[N];
int index=0;
//generate interval1D
while(!StdIn.isEmpty())
{
interArray[index]=new Interval1D(StdIn.readDouble(),StdIn.readDouble());
index++;
if (index==N) break;
}//end while

//find intersect
for (int i=0 ;i<N;i++)
for (int j=i+1;j<N;j++)
if (interArray[i].intersects(interArray[j]))
StdOut.printf("%d(%f,%f) %d(%f,%f)\n",i,interArray[i].min(),interArray[i].max(),j,interArray[j].min(),interArray[j].max());
}//end main
}//end class
附加說明:
http://algs4.cs.princeton.edu/code/ 中的Interval1D.java的首行:package edu.princeton.cs.algs4;需要註釋掉。
同時教材中給出的intersect調整為intersects

Algs4-1.2.2編寫一個Interval1D的用例