Tag: java.util.scanner

为什么是hasNext()假,但hasNextLine()是真的?

题 对于扫描器对象, hasNextLine()方法返回true,而hasNext()方法返回false时如何呢? 注意:基于input文件, hasNext()方法正在按照预期返回结果; hasNextLine()似乎没有返回正确的结果。 码 下面是我正在运行的代码,创build下面的结果: public void ScannerTest(Reader fileReaderObject){ Scanner scannerObj = new Scanner(fileReaderObject); for(int i = 1; scannerObj.hasNext(); i++){ System.out.println(i + ": " + scannerObj.next()); System.out.println("Has next line: " + scannerObj.hasNextLine()); System.out.println("Has next: " + scannerObj.hasNext()); } System.out.println(); scannerObj.close(); } input文件 以下是我传递给此扫描器的文件的实际内容: a 3 9 b 3 6 c 3 3 […]

如何从标准input逐行读取?

从标准input中逐行读取Scala的配方是什么? 像相当于Java代码的东西: import java.util.Scanner; public class ScannerTest { public static void main(String args[]) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ System.out.println(sc.nextLine()); } } }

不能一起使用Scanner.nextInt()和Scanner.nextLine()

我必须得到一个stringinput和一个整数input,但是input的顺序应该是那个整数先出现然后用户应该被要求stringinput Scanner in = new Scanner(System.in); input = in.nextLine(); k = in.nextInt(); in.close(); 上面的代码工作正常,但如果我采取一个整数input第一个像下面的代码 Scanner in = new Scanner(System.in); k = in.nextInt(); input = in.nextLine(); in.close(); 那么它会抛出java.lang.ArrayIndexOutOfBoundsException。 以下是我的源文件的完整代码: import java.util.Scanner; 公共类StringSwap { public static void main(String args[]) { String input; int k; Scanner in = new Scanner(System.in); k = in.nextInt(); input = in.nextLine(); in.close(); int […]

如何在System.in上使用多个Scanner对象?

什么是在我的程序中使用多个扫描仪对象的正确方法。 例如,我使用扫描仪读取文件,然后根据文件中find的内容,我再次使用扫描仪提示用户input。 显示我的代码的摘录 …. Scanner f = new Scanner (System.in); //get the file name String fileName = f.next(); Scanner input = new Scanner( new File( fileName ) ); while ( input.hasNext() ) { String currentLine = input.nextLine(); if ( some pattern found) { Scanner getUserInput = new Scanner (System.in); String userInput = getUserInput.next(); ….. } […]

我如何处理它与扫描仪(Java)?

我有一个关于扫描仪的问题;我在一家小公司工作; 我们有一个软件; 它生成一个大的文本文件; 我们必须从中得到一些有用的信息。 我想用java编写一个简单的应用程序来节省时间; 你能指导我吗? 例如我想要这个输出; 产量 RFID:25 BLUID:562 WifiID:2610 RFID:33 RFID数量:2 例如;这是我的文本文件,因为每个生成的文件与我们的软件有14000行:) ————————– AAAAAAAAAAAA;RFID=25; BBBB;BBBBBBBB;BBBBBBBBBB; CCCCC;fffdsfdsfdfsd;BLUID=562;dfsdfsf; fgfdgdf;terter;fdgfdgtryt; trtretrre;WifiID=2610;trterytuytutyu; zxzxzxzxz;popopopwwepp;RFID:33;aasasds… gfdgfgfd;gfdgfdgfd;fdgfgfgfd; 我用这个源代码testing它,但我无法处理它; Scanner scanner = new Scanner("i:\1.txt"); scanner.findInLine("RFID="); if (scanner.hasNext()) System.out.println(scanner.next()); else System.out.println("Error!"); 请帮帮我 ; 非常感谢 …

Javastring扫描器input不等待信息,直接移动到下一个语句。 如何等待信息?

我正在写一个简单的程序,提示用户input一些学生,然后要求用户input每个学生的名字和分数,以确定哪个学生得分最高。 我编写了程序代码并编译。 第一行要求一些学生等待input。 第二行是要求学生姓名并等待input,然后第三行应打印和请求该学生的分数,并等待input,但在第二行打印后,立即调用第三行(第二行不等待input),然后在第三行之后尝试input请求的信息时出现运行时错误。 如何调整代码,以便在打印第三行之前,第二行打印并等待inputstring? import java.util.Scanner; public class HighestScore { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter the number of students: "); int numOfStudents = input.nextInt(); System.out.print("Enter a student's name: "); String student1 = input.nextLine(); System.out.print("Enter that student's score: "); int score1 = input.nextInt(); for (int i = 0; […]

扫描仪没有看到空间后

我正在写一个程序,要求这个人的全名,然后采取这个input,并将其反转(即John Doe – Doe,John)。 我开始试图获得input,但它只是获得第一个名字。 这是我的代码: public static void processName(Scanner scanner) { System.out.print("Please enter your full name: "); String name = scanner.next(); System.out.print(name); }

如何防止扫描仪在input错误types时抛出exception?

以下是一些示例代码: import java.util.Scanner; class In { public static void main (String[]arg) { Scanner in = new Scanner (System.in) ; System.out.println ("how many are invading?") ; int a = in.nextInt() ; System.out.println (a) ; } } 如果我运行程序,并给它一个像4这样的int ,那么一切都很好。 另一方面,如果我回答too many ,不会笑我的笑话。 相反,我得到这个(如预期): Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:819) at java.util.Scanner.next(Scanner.java:1431) at java.util.Scanner.nextInt(Scanner.java:2040) at java.util.Scanner.nextInt(Scanner.java:2000) at […]

使用扫描仪读取CSV()

我的csv正在读入System.out,但我注意到,任何带有空格的文本都会被移到下一行(作为返回\ n) 以下是我的csv开始的方式: first,last,email,address 1, address 2 john,smith,blah@blah.com,123 St. Street, Jane,Smith,blech@blech.com,4455 Roger Cir,apt 2 运行我的应用程序后,任何有空格(地址1)的单元格都会被扔到下一行。 import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class main { public static void main(String[] args) { // -define .csv file in app String fileNameDefined = "uploadedcsv/employees.csv"; // -File class needed to turn stringName to actual file File file = new […]

java.util.NoSuchElementException:找不到行

当我通过扫描仪读取文件时,程序中出现运行时exception。 java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at Day1.ReadFile.read(ReadFile.java:49) at Day1.ParseTree.main(ParseTree.java:17) 我的代码是: while((str=sc.nextLine())!=null){ i=0; if(str.equals("Locations")) { size=4; t=3; str=sc.nextLine(); str=sc.nextLine(); } if(str.equals("Professions")) { size=3; t=2; str=sc.nextLine(); str=sc.nextLine(); } if(str.equals("Individuals")) { size=4; t=4; str=sc.nextLine(); str=sc.nextLine(); } int j=0; String loc[]=new String[size]; while(j<size){ beg=0; end=str.indexOf(','); if(end!=-1){ tmp=str.substring(beg, end); beg=end+2; } if(end==-1) { tmp=str.substring(beg); } if(beg<str.length()) str=str.substring(beg); […]