java数组越界问题
importjava.util.*;publicclassEasy{publicstaticvoidmain(String[]args){Scannersc=newSca...
import java.util.*;
public class Easy {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入源程序:");
String temps = sc.nextLine();
System.out.println();
String[] arrays = temps.split(" ");
for (int i = 0; i < temps.length(); i ++)
{
if(arrays[i].equals("begin"))
System.out.print("(1,begin)");
else
System.out.print("(error)");
}
}
}
很简单的问题,为什么会报错说数组下标越界呢~请问该怎么改啊~先谢谢java高手了! 展开
public class Easy {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("请输入源程序:");
String temps = sc.nextLine();
System.out.println();
String[] arrays = temps.split(" ");
for (int i = 0; i < temps.length(); i ++)
{
if(arrays[i].equals("begin"))
System.out.print("(1,begin)");
else
System.out.print("(error)");
}
}
}
很简单的问题,为什么会报错说数组下标越界呢~请问该怎么改啊~先谢谢java高手了! 展开
4个回答
展开全部
temps.length()是你从控制台输入的字符串的长度,你的for循环里的条件错了,当然就报数组越界了!我给你改好了!
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入源程序:");
String temps = sc.nextLine();
System.out.println();
String[] arrays = temps.split(" ");
for (int i = 0; i < arrays.length; i ++)
{
if(arrays[i].equals("begin"))
System.out.print("(1,begin)");
else
System.out.print("(error)");
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入源程序:");
String temps = sc.nextLine();
System.out.println();
String[] arrays = temps.split(" ");
for (int i = 0; i < arrays.length; i ++)
{
if(arrays[i].equals("begin"))
System.out.print("(1,begin)");
else
System.out.print("(error)");
}
}
展开全部
for循环改成for (int i = 0; i < args.length(); i ++)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
temps的length()比arrays的长呗。
temps的length()是字符串长度,array的length是数组长度,不一回事
temps的length()是字符串长度,array的length是数组长度,不一回事
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for 循环里的条件错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询