你好StackOverflow偷看!
使用hackerrank.com的30天代码,努力学习/提高我的编码技能。我在第6天遇到一些问题,弄清楚为什么我收到此错误消息:
“〜对stdout没有反应〜”
我在谷歌和stackoverflow中进行了一些搜索,发现其他人有相同的错误,但这是因为他们没有使用标准I / O.我觉得我是,我错过了什么?
这是我的代码:
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) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner sc = new Scanner(System.in);
int cases = sc.nextInt();
while(cases > 0){
getWord();
cases--;
}
}
public static void getWord(){
//Save input to string
Scanner sc = new Scanner(System.in);
String userInput = sc.nextLine();
//Convert string to character array
char[] inputCharArray = userInput.toCharArray();
//Setup output strings
String evenOutputString = "";
String oddOutputString = "";
//Iterate through array
for (int i = 0; i <= userInput.length(); i++) {
//Check if index is even
if (i % 2 == 0) {
//Add to even output string
evenOutputString = evenOutputString + inputCharArray[i];
} else {
//Add to odd output string
oddOutputString = oddOutputString + inputCharArray[i];
}
}
//Output final output in one line, seperated by a single space
System.out.println(evenOutputString + " " + oddOutputString);
}
}
挑战可以在这里找到: https://www.hackerrank.com/challenges/30-review-loop/problem
第一个输入是一个数字,用于确定将发生多少测试用例,以下输入是我应该放入数组中的单个单词,然后将偶数和奇数索引插槽排序并在一行上打印它们,用空格隔开。
示例输入:
2
Hacker
Rank
示例输出:
Hce akr
Rn ak
我尝试将while(case&gt; 0)代码块移动到它自己的方法,以防主要方法中的args是问题的一部分,并得到相同的结果。我还在inputCharArray [i]上尝试了输出字符串连接的.toString。我也试图远离StringBuilder,以便我能够保持在挑战的预期范围内。