首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >书中的代码不是compiling[headintojava]

书中的代码不是compiling[headintojava]
EN

Stack Overflow用户
提问于 2013-10-18 21:53:59
回答 2查看 83关注 0票数 0

我无法编译我的代码,我甚至从这里的github复制了代码

代码语言:javascript
复制
import javax.sound.midi.*;

public class MiniMusicPlayer1 {
    public static void main(String[] args) {
        try {
            Sequencer sequencer = MidiSystem.getSequencer();
            sequencer.open();

            Sequence seq = new Sequence(Sequence.PPQ, 4);
            Track track = seq.createTrack();

            for(int i = 5; i < 61; i += 4) {
                track.add(makeEvent(144,1,i,100,i));
                track.add(makeEvent(128,1,i,100,i + 2));
            }

            sequencer.setSequence(seq);
            sequencer.setTempoInBPM(220);
            sequencer.start();
        } catch(Exception ex) {
            ex.printStackTrace();
        }
    }

    public static MidiEvent makeEvent(int comd, int chan, int one, int two, int tick) {
        MidiEvent event = null;
        try {
            ShortMessage a = new ShortMessage();
            a.setMessage(comd, chan, one, two);
            event = new MidiEvent(a, tick);
        } catch(Exception e) {

        }
        return event;
    }
}

我输入了javac MiniMusicPlayer1.java,它给了我一些错误,这些错误都与midievent有关。第一个错误是Midievent.java:1错误: class...expected。

我看到的主要错误是

“无法访问Midievent...bad源文件.\MidiEvent.java.....file不包含类MidiEvent....Please删除或确保它出现在源路径的正确子目录中

问题是什么?我阅读其他人使用相同的代码,没有问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-18 22:00:49

除非在其他地方定义了类MidiEvent,否则这段代码将不会编译,因为它需要MidiEvent类。

根据错误消息,您似乎有一个MidiEvent.java文件,但是java编译器无法在其中找到类MidiEvent,原因是文件格式错误,或者文件名不正确。

票数 1
EN

Stack Overflow用户

发布于 2013-10-18 22:02:05

确保名称其他源文件(MidiEvent.java)的大写化和其中类的名称大写(似乎是Midievent)是相同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19459630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档