<div><br /></div> <div>프로그램 게시판 첫글이 질문글이라 죄송합니다</div> <div><br /></div> <div>헤드 퍼스트 책으로 자바를 독학중인데 중간에 막히는 부분이 있어서 질문을 드리려합니다.</div> <div><br /></div> <div>일단 코드 전문입니다.</div> <div><br /></div> <div> <div>import javax.sound.midi.*;</div> <div><br /></div> <div>public class MiniMusicCmdLine {</div> <div><br /></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>public static void main(String[] args){</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>MiniMusicCmdLine mini = new MiniMusicCmdLine();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>if(args.length<2){</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>System.out.println("악기와 음 높이를 지정하는 인자를 입력하세요.");</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}else{</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>int instrument = Integer.parseInt(args[0]);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>int note = Integer.parseInt(args[1]);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>mini.play(instrument,note);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>public void play(int instrument, int note){</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>try{</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>Sequencer player = MidiSystem.getSequencer();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>player.open();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>Sequence seq = new Sequence(Sequence.PPQ,4);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>Track track = seq.createTrack();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>MidiEvent event = null;</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>ShortMessage first = new ShortMessage();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>first.setMessage(192, 1, instrument, 0);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>MidiEvent changeInstrument = new MidiEvent(first,1);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>track.add(changeInstrument);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>ShortMessage a = new ShortMessage();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>a.setMessage(144,1,note,100);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>MidiEvent noteOn = new MidiEvent(a,1);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>track.add(noteOn);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>ShortMessage b = new ShortMessage();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>b.setMessage(128, 1, note, 100);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>MidiEvent noteOff = new MidiEvent(b,16);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>track.add(noteOff);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>player.setSequence(seq);</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>player.start();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span></div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}catch(Exception ex){</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>ex.printStackTrace();</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div><span class="Apple-tab-span" style="white-space: pre"> </span>}</div> <div>}</div></div> <div><br /></div> <div><br /></div> <div>사운드 재생을 하기위한 코드이며 책에 나와있는 예제입니다.</div> <div><br /></div> <div> 현재 문제가되는 부분은 <span style="font-size: 9pt; line-height: 1.5">저 코드를 실행하였을때 </span></div> <div><br /></div> <div>"<span style="font-size: 9pt; line-height: 1.5">악기와 음 높이를 지정하는 인자를 입력하세요." 문구가 출력되는 문제이구요.</span></div> <div><span style="font-size: 9pt; line-height: 1.5"><br /></span></div> <div>원래대로라면 저 문구가 아닌 입력을 두개 주었을때 밑의 play 메소드가 실행되어야합니다.</div> <div><br /></div> <div><br /></div> <div>제가 모르겠는 부분은 main의 매개변수인 args가 2이상일때 if else 구문이 작동되어야 하는것 같은데</div> <div><br /></div> <div>main의 매개변수인 args가 어떻게 증가? 동작? 하는지 모르겠습니다. </div> <div><br /></div> <div>감사합니다.</div> <div><br /></div> <div>ps. 질문글이라 본인삭제 불가 체크했는데.. 혹시 이것말고 더 지켜야하는 양식같은게 있다면댓글로 알려주시면 수정하겠습니다.</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.