게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안녕하세요. 자바 질문좀 드려도 될까요??
게시물ID : programmer_3495짧은주소 복사하기
작성자 : 베오베감별사
추천 : 0
조회수 : 574회
댓글수 : 12개
등록시간 : 2014/05/25 14:41:40
옵션
  • 본인삭제금지

프로그램 게시판 첫글이 질문글이라 죄송합니다

헤드 퍼스트 책으로 자바를 독학중인데 중간에 막히는 부분이 있어서 질문을 드리려합니다.

일단 코드 전문입니다.

import javax.sound.midi.*;

public class MiniMusicCmdLine {

public static void main(String[] args){
MiniMusicCmdLine mini = new MiniMusicCmdLine();
if(args.length<2){
System.out.println("악기와 음 높이를 지정하는 인자를 입력하세요.");
}else{
int instrument = Integer.parseInt(args[0]);
int note = Integer.parseInt(args[1]);
mini.play(instrument,note);
}
}
public void play(int instrument, int note){
try{
Sequencer player = MidiSystem.getSequencer();
player.open();
Sequence seq = new Sequence(Sequence.PPQ,4);
Track track = seq.createTrack();
MidiEvent event = null;
ShortMessage first = new ShortMessage();
first.setMessage(192, 1, instrument, 0);
MidiEvent changeInstrument = new MidiEvent(first,1);
track.add(changeInstrument);
ShortMessage a = new ShortMessage();
a.setMessage(144,1,note,100);
MidiEvent noteOn = new MidiEvent(a,1);
track.add(noteOn);
ShortMessage b = new ShortMessage();
b.setMessage(128, 1, note, 100);
MidiEvent noteOff = new MidiEvent(b,16);
track.add(noteOff);
player.setSequence(seq);
player.start();
}catch(Exception ex){
ex.printStackTrace();
}
}
}


사운드 재생을 하기위한 코드이며 책에 나와있는 예제입니다.

 현재 문제가되는 부분은 저 코드를 실행하였을때 

"악기와 음 높이를 지정하는 인자를 입력하세요."  문구가 출력되는 문제이구요.

원래대로라면 저 문구가 아닌 입력을 두개 주었을때 밑의 play 메소드가 실행되어야합니다.


제가 모르겠는 부분은 main의 매개변수인 args가 2이상일때  if else 구문이 작동되어야 하는것 같은데

main의 매개변수인 args가 어떻게 증가? 동작? 하는지 모르겠습니다. 

감사합니다.

ps. 질문글이라 본인삭제 불가 체크했는데.. 혹시 이것말고 더 지켜야하는 양식같은게 있다면댓글로 알려주시면 수정하겠습니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호