2015-06-30 35 views
0

我已经在这里编写了这个小程序,但我不知道在哪里关闭MiniMusicPlayer3类的大括号,有什么想法? 我抄这个代码,这就是为什么我不知道在哪里可以关闭它,但如果我在关闭它的真正结束,而不是1个错误,我得到13个错误..的xD在哪里关闭课程? Java

public class MiniMusicPlayer3 { 

以上是部分我需要关闭代码。

import j.avax.sound.midi.*; 
import java.io.*; 
import javax.swing.*; 
import java.awt.*; 


public class MiniMusicPlayer3 { 

static JFrame f = new JFrame("My First Music Video"); 
static MyDrawPanel ml; 
public static void main(String[] args) { 
    MiniMusicPlayer3 mini = new MiniMusicPlayer3(); 
    mini.go(); 

} //close methoda 


public void setUpGui() { 
    ml = new MyDrawPanel(); 
    f.setContentPane(ml); 
    f.setBounds(30, 30, 300, 300); 
    f.setVisible(true); 
} //close methode 


public void go() { 
    setUpGui(); 

    try { 
     Sequencer sequencer = MidiSystem.getSequencer(); 
     sequencer.open(); 
     sequencer.addControllerEventListener(ml, new int[] { 
      127 
     }); 
     Sequence seq = new Sequence(Sequence.PPQ, 4); 
     Track track = seq.createTrack(); 

     int r = 0; 
     for (int i = 0; i < 60; i += 4) { 

      r = (int)(Math.random() * 50) + 1; 
      track.add(makeEvent(144, 1, r, 100, i)); 
      track.add(makeEvent(176, 1, 127, 0, i)); 
      track.add(makeEvent(128, 1, r, 100, i + 2)); 

     } //end loop 


     sequencer.setSequence(seq); 
     sequencer.start(); 
     sequencer.setTempoInBPM(120); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
} 
+6

在类的末尾。 我讨厌听起来很消极,但如果这是你自己想不出来的东西,那么你显然不知道Java能够使用这些代码。从一开始就学习,复制代码并观察它并不会像实际练习那样教会你。 – Stultuske

+0

我想我以错误的方式解释了自己@Stultuske,你看到这是一个我正在研究的Java代码(准确的说是Head First Java),我已经发现并测试了它,错过了一个大括号,这就是为什么我决定来这里并试图获得一些帮助;) – FET

+0

答案不会改变,但。一个类是这样建模的:public class ClassName {/ * implementation * /} 所以,对于您的情况,您需要在最后一个括号后面加上右括号。 您不可能拥有不在类内部的方法,您不需要在那里声明第二个(内部)类,因此这些方法必须是该类的成员,最后}方法的结尾是 – Stultuske

回答

0
import javax.sound.midi.*; 
import javax.swing.*; 
import javax.sound.midi.MidiSystem; 
import javax.sound.midi.Sequence; 
import javax.sound.midi.Sequencer; 


public class MiniMusicPlayer3 { 

static JFrame f = new JFrame("My First Music Video"); 
static MyDrawPanel ml; 
public static void main(String[] args) { 
MiniMusicPlayer3 mini = new MiniMusicPlayer3(); 
mini.go(); 

} //close methoda 


public void setUpGui() { 
ml = new MyDrawPanel(); 
f.setContentPane(ml); 
f.setBounds(30, 30, 300, 300); 
f.setVisible(true); 
} //close methode 


public void go() { 
setUpGui(); 

try { 
    Sequencer sequencer = MidiSystem.getSequencer(); 
    sequencer.open(); 
    sequencer.addControllerEventListener(ml, new int[] { 
     127 
    }); 
    Sequence seq = new Sequence(Sequence.PPQ, 4); 
    javax.sound.midi.Track track = seq.createTrack(); 

    int r = 0; 
    for (int i = 0; i < 60; i += 4) { 

     r = (int)(Math.random() * 50) + 1; 
     track.add(makeEvent(144, 1, r, 100, i)); 
     track.add(makeEvent(176, 1, 127, 0, i)); 
     track.add(makeEvent(128, 1, r, 100, i + 2)); 

    } //end loop 


    sequencer.setSequence(seq); 
    sequencer.start(); 
    sequencer.setTempoInBPM(120); 
} catch (Exception ex) { 
    ex.printStackTrace(); 
} 
} 
}//this was the last curly you need to put at the end of your code 
+0

是的,我已经解决了,你是对的,但我只是发现我需要更多的代码才能完成这个工作,如果我不得不等待本书的最后部分的结束,谢谢很多顺便给你的帮助,它有帮助! – FET

+0

你想要实现什么?你想用Java播放音频文件吗? –