如何通过java扫描程序读取多个字符串

时间:2016-06-03 19:06:20

标签: java string

任务 给定一个从中索引的长度字符串,将其偶数索引和奇数索引字符作为空格分隔的字符串打印在一行上(有关详细信息,请参阅下面的示例)。

注意:被认为是偶数索引。

输入格式

第一行包含一个整数(测试用例的数量)。 后续行的每一行都包含一个String,。

约束

输出格式

对于每个String(where),print的偶数索引字符,后跟一个空格,后跟'奇数索引字符。

示例输入

2 黑客 秩 样本输出

Hce akr Rn ak 解释

测试案例0:

偶数索引是,,和,奇数索引是,和。然后我们打印一行空格分隔的字符串;第一个字符串包含来自偶数索引()的有序字符,第二个字符串包含来自奇数索引()的有序字符。

测试案例1:

偶数指数是和,奇数指数是和。然后我们打印一行空格分隔的字符串;第一个字符串包含来自偶数索引()的有序字符,第二个字符串包含来自奇数索引()的有序字符。

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int totalStrings = sc.nextInt();
        String [] inputStringArray = new String[totalStrings];
        StringBuilder firstArray = null ;
        StringBuilder secondArray = null ;
        for(int i = 0 ; i < totalStrings ; i++){
            inputStringArray[i] = sc.next();
            for(int j = 0 ; j < inputStringArray.length; j++ ){
                if(j%2 == 0){
                    firstArray.append(inputStringArray[j]);
                }else{
                    secondArray.append(inputStringArray[j]);
                }
                System.out.print(firstArray + " "+secondArray);
            }

        }
    }
}

2 个答案:

答案 0 :(得分:1)

您的代码中有一些错误:

  • StringBuilders未初始化
  • 您正在迭代第二个循环中的数组,而您想迭代最后一个字符串。
  • 您需要使用charAt(j)来获取字符串的第j个字符

    Scanner sc = new Scanner(System.in);
    int totalStrings = sc.nextInt();
    String [] inputStringArray = new String[totalStrings];
    StringBuilder firstArray = new StringBuilder();
    StringBuilder secondArray = new StringBuilder();
    for(int i = 0 ; i < totalStrings ; i++){
        inputStringArray[i] = sc.next();
        for(int j = 0 ; j < inputStringArray[i].length(); j++ ){
            if(j%2 == 0){
                firstArray.append(inputStringArray[i].charAt(j));
            }else{
                secondArray.append(inputStringArray[i].charAt(j));
            }
            System.out.print(firstArray.toString() + " " + secondArray.toString());
        }
    }
    System.out.println("");
    

它应该正常工作。

答案 1 :(得分:0)

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution 
{

    public static void main(String[] args) 
    {

        Scanner sc = new Scanner(System.in);
        int totalStrings = sc.nextInt();
        String [] inputStringArray = new String[totalStrings];

        for(int i = 0 ; i < totalStrings ; i++)
            {
                inputStringArray[i] = sc.next();
            }

        for( String str: inputStringArray)
            {
                StringBuilder firstArray = new StringBuilder();
                StringBuilder secondArray = new StringBuilder();

                for(int j=0; j<str.length(); j++)
                    {
                        if(j%2 == 0)
                            {
                                firstArray.append(str.charAt(j));
                            }
                        else
                            {
                                secondArray.append(str.charAt(j));
                            }

                    }

                System.out.println(firstArray.toString() + " " + secondArray.toString());
            }
     }
 }