JAVA小程序报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA小程序报错相关的知识,希望对你有一定的参考价值。

import javax.swing.JOptionPane;
public class Q3

public static void main(String[] args)

String ISBN = JOptionPane.showInputDialog("Enter an ISBN-10 number without check digit");
String xa = ISBN.substring(0,1);
int a = Integer.parseInt(xa);
String xb = ISBN.substring(2,3);
int b = Integer.parseInt(xb);
String xc = ISBN.substring(3,4);
int c = Integer.parseInt(xc);
String xd = ISBN.substring(4,5);
int d = Integer.parseInt(xd);
String xe = ISBN.substring(6,7);
int e = Integer.parseInt(xe);
String xf = ISBN.substring(7,8);
int f = Integer.parseInt(xf);
String xg = ISBN.substring(8,9);
int g = Integer.parseInt(xg);
String xh = ISBN.substring(9,10);
int h = Integer.parseInt(xh);
String xi = ISBN.substring(11,12);
int i = Integer.parseInt(xi);
int Cons =(a + 2*b + 3*c + 4*d + 5*e + 6*f + 7*g + 8*h + 9*i) % 11;
JOptionPane.showMessageDialog(null,"The IBSN-10 number with check digit is "+ISBN+"-"+Cons);



在然后javac Q3.java
java Q3
都没问题,可以弹出对话框。
但是输入完了之后,进行计算的话就出现以下文字:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 12
at java.lang.String.substring(String.java:1934)

速度搞定的话追加分值。。。

你这行
String xi = ISBN.substring(11,12);
要的是第12和第13位的数字,但是你只输入了12位~ Java里第一个位置是从0开始的。所以12代表的是第13个位子。

我建议你再仔细看一些那串处理数字的substring。如果你输入只有12个数字,不能有12出现在你的substring里的,最多11
参考技术A 你输入的数字太短了
最少要有12位 如果输入的数字不够的话 substring就会报异常

微信小程序报错 this.setData?

微信小程序报错 this.setData

参考技术A 在wx.XXXX这样的里面不能用this,在wx.XXXXX的上面写var that=this;在wx.XXXXX的里面的this都要用that代替,就不报错了。 参考技术B 下面有报错原因,说this setdata不是一个函数
也就是说他没有找到这个函数
在onload下函数的成功回调函数不能用this去调用setdata,应该在onload函数中将this赋值给另外一个不会产生歧义的变量,再用新的变量去调用setdata来修改data中的值
参考技术C 微信小程序报错。可能是微信小程序正在维护,当中系统升级等等情况。 参考技术D 把this定义成that
var that=this;

以上是关于JAVA小程序报错的主要内容,如果未能解决你的问题,请参考以下文章

java中,Object的wait()方法用了报错,小程序帮我看看。

JAVA程序的几个小问题,有空的大神帮我看下谢谢啦~也可以让我给你发程序帮忙调一下万分感谢3QQQQQQ

我做了个java的小程序, 用import 语句引入自己的包中所有类时总是报错

牛逼的uniapp+Java微信小程序商城来了

关于java的一些小知识(课程作业02)

微信小程序用户信息解密失败导致的内存泄漏问题。