繁体   English   中英

对于此代码,使用 Java 在 SPOJ 中获取 NZEC 错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM