问答详情
源自:6-4 使用QR Code方式生成和解析二维码

new String(codeDecoder.decode(new MyQRCodeImage(bufferedImage)),"gb2312");报错数组下标越界异常

String result=new String(codeDecoder.decode(new MyQRCodeImage(bufferedImage)),"gb2312");

这段报错


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

at jp.sourceforge.qrcode.pattern.FinderPattern.getWidth(FinderPattern.java:525)

at jp.sourceforge.qrcode.pattern.FinderPattern.findFinderPattern(FinderPattern.java:49)

at jp.sourceforge.qrcode.reader.QRCodeImageReader.getQRCodeSymbol(QRCodeImageReader.java:172)

at jp.sourceforge.qrcode.QRCodeDecoder.decode(QRCodeDecoder.java:141)

at jp.sourceforge.qrcode.QRCodeDecoder.decode(QRCodeDecoder.java:70)

at com.imooc.qrcode.ReadQRCode.main(ReadQRCode.java:19)

是为什么啊?照着视频类敲的啊?

提问者:大佑1989 2017-10-16 11:57

个回答

  • qq_风介_0
    2018-12-04 21:40:05

    是偏移量没加报错。加了偏移量就好了。

  • 想要学习的小懒虫
    2017-12-15 17:40:37

    应该是二维码生成时的循环,没有加偏移量(视频中老师没有操作),导致解析时数组下标越界,图片中红线处,复制过来的源码是没有加的http://img3.mukewang.com/5a33988f0001eaed12300425.jpg

  • 慕仔6120062
    2017-10-17 22:07:36

    这个语句之前的代码段,你截图说着复制粘贴上来看看