jjzjj

nextLine

全部标签

java - 了解 Scanner 的 nextLine()、next() 和 nextInt() 方法

我正在尝试了解这三种方法的工作原理。以下是我对它们的理解:nextLine()读取当前行的剩余部分,即使它是空的。nextInt()读取一个整数但不读取转义序列“\n”。next()读取当前行但不读取“\n”。假设我有以下代码:importjava.util.Scanner;publicclassWelcome2{publicstaticvoidmain(String[]args){Scannerkeyboard=newScanner(System.in);System.out.println("Nextentertwowords:");intn;Strings1,s2;n=keybo

java - 使用 Scanner 的 nextLine() 和 hasNextLine() 方法时出现问题

我有一个包含以下数据的日志文件:最短路径(2)::RV3280-RV0973C-RV2888C最短路径(1)::RV3280-RV2502C最短路径(2)::RV3280-RV2501C-RV1263最短路径(2)::RV2363-Rv3285-RV3280在每一行中,我需要括号内的数字、第一个蛋白质的名称(第一行中的RV3280)和最后一个蛋白质的名称(第一行中的RV2888C)。我已经使用Scanner对象为此编写了代码。try{Scanners=newScanner(newFile(args[0]));while(s.hasNextLine()){s.findInLine("Sh

java - 如何中断 java.util.Scanner nextLine 调用

我使用的是多线程环境,其中一个线程通过重复调用scanner.nextLine()不断监听用户输入。为了结束应用程序,这个运行循环被另一个线程停止,但是监听线程不会停止,直到最后一个用户输入完成(由于nextLine()的阻塞性质)。关闭流似乎不是一个选项,因为我正在读取System.in,它返回一个不可关闭的InputStream。有没有办法打断scanner的阻塞,让它返回?谢谢 最佳答案 这article描述了一种在阅读时避免阻塞的方法。它提供了代码片段,您可以按照我在评论中指出的那样进行修改。importjava.io.*;

java - 使用扫描仪获取用户输入

我正在尝试让扫描仪循环接收输入。一旦用户想要完成,他就可以退出这个循环。我尝试了许多不同的方法来做到这一点,但总是存在一些问题。这是代码:privatevoidinputEntries(){Scannersc=newScanner(System.in);System.out.println("Continue?[Y/N]");while(sc.hasNext()&&(sc.nextLine().equalsIgnoreCase("y"))){//changehereSystem.out.println("Enterfirstname");Stringname=sc.nextLine()

java - 或管道不工作?

对于我的第一个Java项目,我试图制作一个简单的基于文本的游戏。似乎or管道不起作用,当我尝试在它不起作用后输入某些内容时;我必须重新启动它。publicvoidGameStart(){StringplayerName="Player";StringCommand="Choice";System.out.println("TypeStarttostartgame!");if(in.nextLine().equals("Start")||in.nextLine().equals("start")){Help();print("TypeBegintostartgame:D");if(in.

Java Scanner 不等待用户输入

这个问题在这里已经有了答案:ScannerisskippingnextLine()afterusingnext()ornextFoo()?(24个答案)关闭5年前。我正在使用Java的扫描仪来读取用户输入。如果我只使用nextLine一次,它就可以正常工作。有两个nextLine第一个不等待用户输入字符串(第二个)。输出:X:Y:(waitforinput)我的代码System.out.print("X:");x=scanner.nextLine();System.out.print("Y:");y=scanner.nextLine();知道为什么会发生这种情况吗?谢谢

java - while 循环中的扫描仪输入验证

我必须在while循环中显示Scanner输入:用户必须插入输入,直到他写下“退出”。所以,我必须验证每个输入以检查他是否写了“退出”。我该怎么做?while(!scanner.nextLine().equals("quit")){System.out.println("Insertquestioncode:");Stringquestion=scanner.nextLine();System.out.println("Insertanswercode:");Stringanswer=scanner.nextLine();service.storeResults(question,an

Java CSVReader 忽略双引号中的逗号

我有一个CSV文件,但在解析时遇到问题。我正在使用opencsv图书馆。这是我的数据的样子以及我想要实现的目标。RPT_PE,CLASS,RPT_MKT,PROV_CTRCT,CENTER_NM,GK_TY,MBR_NM,MBR_PID"20150801","NULL","33612","00083249PPCP602","JOESMITHARNP","NULL","FRANK,LUCASE","50004655200"我遇到的问题是成员名称("FRANK,LUCASE")被分成两列,而成员名称应该是一列。我再次使用opencsv和逗号作为分隔符。有什么办法可以忽略双引号内的逗号吗?p

具有非 size_t 整数的 std::array 的 C++ 模板参数推导

我正在尝试调整Avoidingstructinvariadictemplatefunction中提供的解决方案根据我的需要。但是,我无法理解G++的行为。考虑以下功能:templateintnextline(consttypenamestd::arrayar){return0;}然后调用nextline(std::array{1,0});与GCC提示不匹配eslong.cpp:Infunction‘intmain()’:eslong.cpp:10:38:error:nomatchingfunctionforcallto‘nextline(std::array)’nextline(std

java - CSVReader 和 InputStream

我已经创建了CSVReader,我正在尝试从Assets中读取csv文件,因此我应该使用InputStream。但是我下面的代码没有输入流构造函数。谁能告诉我如何在代码中添加或更改某些内容,以便我可以使用输入流。publicclassCSVReader{privateBufferedReaderbr;privatebooleanhasNext=true;privatecharseparator;privatecharquotechar;privateintskipLines;privatebooleanlinesSkiped;publicintlinesCount=0;publicst