您的位置:首页 > 编程语言 > Java开发

JAVA在线笔试编程时测试结果显示非法越界的解决方法

2017-03-24 22:48 417 查看
今天晚上做了一家公司的在线笔试,笔试要求说可以在本地IDE编写后复制到网页上,但是我在本地运行正确后复制到网页上测试运行时总是说我非法越界。其实是由于在线笔试给了很多数据,和OJ是类似的。所以我们在写的时候循环获取控制台的输入时的判断条件写得不对Scanner提供了一个方法专门用于判断是否还有输入:scanner.hasNext(),

这里有一个例子:

import java.util.*;

public class Helli {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int a,b;
String str="";
//str=scanner.nextLine();
while(scanner.hasNext())
{
str=scanner.nextLine();
String[] s=new String[2];
s=str.split(",");
a=Integer.parseInt(s[0]);
b=Integer.parseInt(s[1]);
if(a<1||a>7000||b<1||b>7000)
{
System.out.println(-1);
}
else
{
char[] s1=new char[5];
char[] s2=new char[5];
int i,j=0;
for(i=0;i<s[0].length();i++)
{
s1[i]=s[0].charAt(s[0].length()-i-1);
}
for(j=0;j<s[1].length();j++)
{
s2[j]=s[1].charAt(s[1].length()-j-1);
}
String str1="";
String str2="";
for(int x=0;x<i;x++)
{
str1+=s1[x];
}
for(int y=0;y<j;y++)
{
str2+=s2[y];
}
a=Integer.parseInt(str1);
b=Integer.parseInt(str2);
System.out.println(a+b);

}
//str=scanner.nextLine();
}
System.out.println("yes");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐