Você está na página 1de 2

9/18/2015

PlayThatTune.java

PlayThatTune.java
BelowisthesyntaxhighlightedversionofPlayThatTune.javafrom1.5InputandOutput.

/******************************************************************************
*Compilation:javacPlayThatTune.java
*Execution:javaPlayThatTune<input.txt
*Dependencies:StdAudio.javaStdAudio.java
*
*Thisisadatadrivenprogramthatplayspuretonesfrom
*thenotesonthechromaticscale,specifiedonstandardinput
*bytheirdistancefromconcertA.
*
*%javaPlayThatTune<elise.txt
*
*
*Datafiles
*
*http://www.cs.princeton.edu/introcs/21function/elise.txt
*http://www.cs.princeton.edu/introcs/21function/freebird.txt
*http://www.cs.princeton.edu/introcs/21function/Ascale.txt
*http://www.cs.princeton.edu/introcs/21function/National_Anthem.txt
*http://www.cs.princeton.edu/introcs/21function/looney.txt
*http://www.cs.princeton.edu/introcs/21function/StairwayToHeaven.txt
*http://www.cs.princeton.edu/introcs/21function/entertainer.txt
*http://www.cs.princeton.edu/introcs/21function/oldnassau.txt
*http://www.cs.princeton.edu/introcs/21function/arabesque.txt
*http://www.cs.princeton.edu/introcs/21function/firstcut.txt
*http://www.cs.princeton.edu/introcs/21function/tomsdiner.txt
*
******************************************************************************/
publicclassPlayThatTune{
publicstaticvoidmain(String[]args){
//repeataslongastherearemoreintegerstoreadin
while(!StdIn.isEmpty()){
//readinthepitch,where0=ConcertA(A4)
intpitch=StdIn.readInt();
//readindurationinseconds
doubleduration=StdIn.readDouble();
//buildsinewavewithdesiredfrequency
doublehz=440*Math.pow(2,pitch/12.0);
intN=(int)(StdAudio.SAMPLE_RATE*duration);
double[]a=newdouble[N+1];
for(inti=0;i<=N;i++){
a[i]=Math.sin(2*Math.PI*i*hz/StdAudio.SAMPLE_RATE);
}
//playitusingstandardaudio
StdAudio.play(a);
}
}
}
http://introcs.cs.princeton.edu/java/15inout/PlayThatTune.java.html

1/2

9/18/2015

PlayThatTune.java

Copyright20002011,RobertSedgewickandKevinWayne.
Lastupdated:SunAug218:43:37EDT2015.

http://introcs.cs.princeton.edu/java/15inout/PlayThatTune.java.html

2/2

Você também pode gostar