- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题
每行输入都将包含一个字符串,后跟一个整数。每个字符串最多包含 10 个字母字符,每个整数都在 0 到 999 的范围内
输出代码
在输出的每一行中应该有两列:第一列包含字符串,并使用 15 个字符左对齐。第二列包含整数,以 3 位数字表示;如果原始输入少于三位数字,则必须用零填充输出的前导数字。
查看此链接以获取更多信息: hackerrank/challenges/java-output-formatting
这是我写的代码(Java):
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("================================");
for(int i=0 ; i<3 ; i++){
String s1=sc.next();
int x=sc.nextInt();
System.out.printf("%-15s%03d\n",s1,x);
}
System.out.println("================================");
}
}
我的确切疑问/问题
虽然上面的代码编译并运行得很好,但我决定进行一些更改并尝试一些不同的东西。我在该行之后添加了以下代码行
int x=sc.nextInt();
我添加的行是:
sc.next();
但是,添加该行代码后,程序将不再接受第一行之后的输入。也就是说,只有第一行输入会被打印,下一行会被忽略(不打印)。我将代码 sc.next() 更改为 sc.nextLine() 但现在程序只会打印前 2 行并跳过打印最后一行(我的代码write 应该接受 3 行文本并使用 printf 将这三行打印到标准输出。谁能解释一下为什么会发生这种情况?
我在网上读到,如果我必须分别使用 next() 和 nextInt() 读取整数后读取字符串,那么我需要在读取整数之后和读取之前添加额外的 next() 或 nextLine() 调用字符串。(这是将扫描仪移动到下一个字符,因为转义字符被 nextInt() 忽略)。
在我的程序中,在循环的第一次迭代期间,最后一次从标准输入读取数据是在读取整数时发生的。在第二次迭代的开头,字符串是第一个被读取的字符串。因此注意到这一点,我进行了更改,但程序没有按计划运行。但是,如果我删除中间的额外读取,该程序就可以完美运行。
谁能解释一下为什么会发生这种情况吗?
提前致谢
最佳答案
如果您将 sc.next()
放在代码后面,Scanner
将读取并使用下一个字符串,然后您的循环将从第二行的整数开始——这就是它无法正常工作的原因。现在,如果您放置 sc.nextLine()
,它将读取并消耗下一行,因此您的循环将从第三行开始,这就是为什么您只有两行。您不应在循环后使用 sc.next()
或 sc.nextLine()
;保持原样即可。
关于java - 为什么 sc.next() 或 sc.nextLine() 在循环内不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44004046/
我是 Spark 的新手。有人可以清除我的疑问吗: 让我们假设下面是我的代码: a = sc.textFile(filename) b = a.filter(lambda x: len(x)>0 an
问题 每行输入都将包含一个字符串,后跟一个整数。每个字符串最多包含 10 个字母字符,每个整数都在 0 到 999 的范围内 输出代码 在输出的每一行中应该有两列:第一列包含字符串,并使用 15 个字
我希望从不同供应商、不同用途、不同 APDU 的一堆智能卡中读取一些基本信息。例如:国家身份识别智能卡、EMV(支付)、手机SIM、javacard等... 我编写了一个 Java 应用程序。让我将
我有一组我想读入 RDD 的日志文件。 这些日志文件都是压缩的 gzip 文件,文件名是 日期盖章。 我一直在用sc.wholeTextFiles()读入文件,似乎我遇到了 Java 堆内存问题。为了
我使用以下命令创建服务:sc create MyService binpath= "C:\Path\MyDriver.sys" 返回的消息是:[SC] CreateService SUCCESS,但是
我使用 Spring mvc,我的问题是关于 sendError方法来自 HttpServletResponse . 有人可以告诉我哪个最好: @RequestMapping(method = Req
class superClass {} class subClass extends superClass{} public class test { public static void m
我在ConcurrentHashMap中阅读了addCount函数的源代码, 但我不知道什么时候可以实现( sc == rs + 1 || sc == rs + MAX_RESIZERS)条件。 为什
我正在尝试使用 Sproutcore 呈现 UI,其中我有一个列表列表。有一个垂直的数据列表,其中每个关联的项目都有自己的项目列表。我已经根据我对 Sproutcore 的了解设置了我认为合适的模型。
当我通过 http://software.intel.com/en-us/android 安装 Intelhaxm 时并且我成功安装了,但是当我尝试使用管理员在命令提示符下验证 Intelhaxm 是
我试图在我的 MVC - Sitecore - 7.1 中的 v4.0.30319 项目中使用 Glass Mapper。 以下是我安装的 Glass Mapper 版本 Glass Mapper 版
在我通过取消注释文件中的以下行来更改 svnserve.conf 之后,我正在尝试使用 cmd 创建一个 svnserver, anon-access = read auth-access = wri
有没有办法让 java 使用 javax.smartcardio.TerminalFactory 识别我的 NFC 读卡器? 我正在使用 Ubuntu 13.04 并使用 pcsc_scan 我能够读
我正在使用 sc.exe 命令来安装 C# windows 服务。 C:Windows\System32> sc.exe Create "TestService1" binPath= "C:\Prog
sc-bytes 代表什么?每一个关于 sc-bytes 的讨论和博客都声明它代表从服务器到客户端的字节。 想知道sc-bytes是否代表总响应字节数, 例如,。当我们访问任何 URL 时,它是否包含
topLeftView: SC.ScrollView.design({ backgroundColor: "#DADFE6", childViews: 'labLabel labMem
我想将一些已解析的 JSON 数据从我的 Controller 推送到 SC.SourceListView (Sproutcore Showcase) .我使用 SC.TreeController并将
您对此有什么解决方案吗? 我想得到 SC.SceneView从下到上过渡,而不是从左到右或从右到左。 Doc在这里并没有说太多,但是由于原始转换必须在某个地方,也许我可以为此创建其方法的原型(prot
我正在基于SproutCore 1.8的项目中。我的应用程序必须在复杂的表格 View 中显示大量数据。实际上,表格 View 将成为应用程序界面的核心元素之一。另外,我可能需要大纲/树 View ,
我正在尝试在SproutCore应用程序中按部门显示联系人列表,并尝试将SC.ListView嵌套在另一个SC.ListView中无济于事。 我可以use SC.GridView to assist,
我是一名优秀的程序员,十分优秀!