写游戏用的,一直报错,求解。

Exception in thread "main" java.lang.IllegalArgumentException: input == null!

img


现在又出来了这个!

可以参考这个

原因

一般来说可能是文件的相对路径、绝对路径问题

解决方法

1、修改代码中的文件路径 比如图片路径或者其他文件的路径为你机器中的绝对路径,
2、然后重新运行。


如有问题及时沟通

img


参数前面加上@NotNull

首先添加musicstuff类,代码如下

public class musicStuff {
    void playMusic(String musicLocation)    {        
    try        
    {        
        File musicPath = new File(musicLocation);                        
        if(musicPath.exists())            {                
        AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);        
                Clip clip = AudioSystem.getClip();                
                clip.open(audioInput);            
                clip.start();            
                clip.loop(Clip.LOOP_CONTINUOUSLY);    
    }else{    }    
    }catch(Exception ex){            
         ex.printStackTrace();        
  }
}}

然后主类中调用

        String filepath = "chicken.wav";
        musicStuff musicObject = new musicStuff();        
        musicObject.playMusic(filepath);

filepath对应的路径可以选择你本地的一个路径,一定要保证路径正确

是读取路径问题

程序执行的是.class文件,所以你使用相对目录时应该找编译好的文件的目录:

你应该在GameUtil类中测试获取当前目录,比如:

System.out.println(GameUtil.class.getClassLoader().getResource(""));

你会得到一个目录,然后将图片放入该目录下,而不是你的.java文件下的目录

代码是什么样的

是因为传过来的input参数是null导致的,检查下为什么会传空过来