什么ArrayIndexOutOfBoundsException意思,我该如何摆脱它?
以下是触发异常的代码示例:
String[] name = { "tom", "dick", "harry" };
for (int i = 0; i <= name.length; i++) {
System.out.println(name[i]);
}
Run Code Online (Sandbox Code Playgroud) 什么是空指针异常(java.lang.NullPointerException)以及它们的原因是什么?
可以使用哪些方法/工具来确定原因,以便停止异常导致程序过早终止?
在像http://en.wikipedia.org/wiki/?这样的页面中:三元/条件运算符?:似乎用于条件赋值.我尝试将它用于方法调用,如下所示:
(condition) ? doThis() : doThat();
Run Code Online (Sandbox Code Playgroud)
两种方法都返回void.Java告诉我这不是一个声明.
所以,我猜我不能做条件方法调用......或者我可以吗?
我正在编写一个打开文本文件并检查注释的程序。然后它解析评论以检查某些单词。
我遇到的错误是以下 while 循环,该循环检查当前行是否以空格或“/”以外的任何字符开头(如果存在非反斜杠字符),然后 while 循环移动到下一行并检查再次。一旦 while 循环满足其要求并中断程序崩溃,我会收到以下输出错误。
import java.rmi.Naming;
import java.net.InetAddress;
i
import java.lang.reflect.*;
i
ERROR: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at ExtraCredit.main(ExtraCredit.java:22)</code></pre>
Run Code Online (Sandbox Code Playgroud)
这是有问题的代码示例
System.out.println(line);
char x = line.charAt(0);
while((line.charAt(0)!='/')&&(Character.isWhitespace(x)==false))
{
line = inputFile.nextLine();
x = line.charAt(0);
System.out.println(line);
System.out.println(x);
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助。我确信这是一个简单的错误,但我只是没有看到它。
而我正在做一个简单的密码程序.我遇到了这个错误
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.charAt(Unknown Source)
at Caesar.main(Caesar.java:27)
Run Code Online (Sandbox Code Playgroud)
好吧,我不清楚原因是什么.我需要一些老手的帮助@@下面是我的代码.
import java.util.Scanner;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
public class Caesar {
public static void main(String[] args){
String from = "abcdefghijklmnopqrstuvwxyz";
String to = "feathrzyxwvusqponmlkjigdcb";
Scanner console = new Scanner(System.in);
System.out.print("Input file: ");
String inputFileName = console.next();
System.out.print("Output file: ");
String outputFileName = console.next();
try{
FileReader reader = new FileReader("C:/"+inputFileName+".txt");
Scanner in = new Scanner(reader);
PrintWriter out = new PrintWriter("C:/"+outputFileName+".txt");
while (in.hasNextLine()){ …Run Code Online (Sandbox Code Playgroud) 首先,这是我的代码中有问题的部分; 这些都是非常基础的课程
public Passenger(String Name, String adress, String number, String password){
count++;
accId+=count;
this.Name=Name;
this.adress=adress;
this.number=number;
if(checkPw(password)==true){
this.password=password;
}
}
private boolean checkPw(String password){
int length;
length = password.length();
if(length != 6){
return false;
}
else if(password.charAt(0)==0){
return false;
}
else {
for (int i = 0; i < password.length();i++){
if((password.charAt(i))==(password.charAt(i+1))){
return false;
}
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
识别TestClass:
public static void main(String[] args){
Passenger gokhan=new Passenger("Gokhan","Istanbul","xxx","254651");
System.out.println(gokhan.password);
}
Run Code Online (Sandbox Code Playgroud)
所以,我认为问题出在Passenger类.这是我第一次在课堂上上课(我的意思是if(checkPw(密码)== true)部分).在测试类中,它看起来非常清晰,我从未想过会出现此错误.我该如何避免这条消息?
完整错误:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index …Run Code Online (Sandbox Code Playgroud)