[英]Getting NZEC error in SPOJ with Java for this Code
这是我对 SPOJ 中一半问题的回答(问题 ID:12156)。 我是 JAVA 的初学者。 请帮助我为什么会出错。 在 Ideone 中编译时,我能够得到预期的答案。 谢谢
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner scan =new Scanner(System.in);
String[] name= new String[10];
int size,count;
String temp,news;
char[] chars= new char[20];
temp=scan.nextLine();
count=Integer.parseInt(temp);
for(int i=0;i<count;i++)
{
name[i]=scan.nextLine();
}
for(int j=0;j<count;j++)
{
news=name[j];
size=news.length();
chars=news.toCharArray();
for(int k=0;k<size/2;k=k+2)
{
System.out.print(chars[k]);
}
System.out.println();
}
}
}
问题描述中注意以下几点:
在输入的第一行中,您将获得正整数 t (1 <= t <= 100) - 测试用例的数量。
在您的代码中,您最多可以处理 10 个(而不是 100 个)字符串。
String[] name = new String[10];
在接下来的 t 行中的每一行中,您将获得一个 2*k (1 <= k <= 100) 个字符的序列。
在您的代码中,您最多可以处理 20 个(而不是 200 个)字符。
char[] chars = new char[20];
我确实在 SPOJ 尝试了一半的相同问题,我的代码被接受了。 我认为数组初始化应该基于输入。
import java.util.Scanner;
class Main {
public static void main(String[] args) throws java.lang.Exception {
Scanner scan = new Scanner(System.in);
int testCase = scan.nextInt();
scan.nextLine();
String[] inputStringArray = new String[testCase];
for (int x = 0; x < testCase; x++) {
String input = scan.nextLine();
input = input.replaceAll("\\s+", "");
inputStringArray[x]=input;
System.out.println("#-"+x);
}
for(int y=0;y<testCase;y++){
String text = inputStringArray[y];
char[] inputArray = text.toCharArray();
int len = inputArray.length/2;
for(int z=0;z<len;z=z+2){
System.out.print(inputArray[z]);
}
System.out.println("");
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.