java - 为什么我在单独打印偶数和奇数索引字符的问题中没有得到正确的输出?
问题描述
这是问题的链接。我已经用java编写了这段代码,但我没有得到正确的输出。为什么?
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=0; i<n; i++)
{
String name = sc.nextLine();
String even="";
String odd ="";
for(int j=0; j<name.length(); j++)
{
if(j%2==0)
even=even+String.valueOf(name.charAt(j));
else
odd=odd+String.valueOf(name.charAt(j));
}
System.out.println(even+" "+odd);
这是我得到的错误。
Input (stdin)
2
Hacker
Rank
Your Output (stdout)
// a blank space here.
Hce akr
Expected Output
Hce akr
Rn ak
解决方案
您int n = sc.nextInt();
使用输入的整数 (2),但仍然有一个换行符。
当您的循环第一次通过并调用String name = sc.nextLine();
时,它将消耗剩余的换行符(仅此而已)。因此,您的空行。
要克服这一点,请确保在阅读后阅读新行n
此外,没有显示最后一个条目,因为您可能需要一个尾随换行符(输入中的“排名”之后的一个)
推荐阅读
- react-native - 开发服务器返回响应错误码:500(React Native)
- python - 如何在Python中做数组的乘积
- javascript - 我如何完成这个动画?
- android - Android数据绑定问题:“原因:无法猜测”
- image - 如何修复不完整的网格单元并修复图像中的缺失部分
- javascript - 如何使用 typescript 支持同一模块的多个版本?
- c++ - C++ variable_name.attribute = x
- google-apps-script - 谷歌脚本 - 清除范围,除了一个特定的单元格值
- python - 如果其中一列是先前数据的±5位,如何找到特定的重复数据?
- node.js - TypeError: notesExist.push 不是函数?