Tag: java.util.scanner

如何使用扫描程序使用java从文本文件中删除一行

我有一个名为BookingDetails.txt的文本文件 在文件里面有一行记录 Abid Akmal 18/11/2013 0122010875 Grooming Zalman 5 125.0 Dog 它来自 First name: Abid, Last name: Akmal, Date, phone number, type of services, pet name, days of stay, cost, and type of pet. 我想创建一个用户输入函数,当用户输入名字和姓氏时,整行都被删除。 但请注意,它只会影响该特定行,因为它们将在文本文件中提供更多预订条目。 这只是我的程序的一部分,我不知道该怎么做。 我基本上都被困在这里。 该程序将如下所示。 欢迎使用删除菜单: 输入名字:Bla bla bla输入姓氏:Bla 然后会出现一条消息,说已删除记录。

Java:尝试(扫描程序扫描=新扫描程序(System.in){}导致exception

使用try(Scanner scan = new Scanner(System.in)) { }正在导致 线程“main”java.util.NoSuchElementException中的exception 当我尝试调试它说 变量信息不可用,源代码编译时没有-g选项。 并显示以下代码 public Scanner(InputStream source) { this(new InputStreamReader(source), WHITESPACE_PATTERN); } 我使用此行的方法之一: protected String loginName(){ String username; String password; try (Scanner scan = new Scanner(System.in)) { // This line is causing the error. System.out.print(“Enter Username: “); username = scan.next(); System.out.print(“Enter Password: “); password = scan.next(); } if(getUsernamesList().contains(username)) […]

扫描仪使用nextInt()和循环继续跳过输入

我正在使用while循环来确保输入到scanner对象的值是一个整数,如下所示: while (!capacityCheck) { try { System.out.println(“Capacity”); capacity = scan.nextInt(); capacityCheck = true; } catch (InputMismatchException e) { System.out.println(“Capacity must be an integer”); } } 但是,如果用户没有输入一个整数,当它应该返回并接受另一个输入时,它只是重复打印“容量”,然后输入捕获中的输出而不需要更多输入。 我怎么阻止这个?

为什么这个for-loop让我在第一个循环中输入文本?

我想要做的是要求用户输入一些字符串以读入数组,然后要求用户输入该字符串数并将其读入数组。 当我运行这段代码时,它从不要求我输入第一个for循环的第一个循环,只打印出“String#0:String#1:”然后我可以输入文本。 为什么这样,我做错了什么? import java.util.Scanner; public class ovn9 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.print(“Number of inputs: “); int lines= sc.nextInt(); String[] text=new String[lines]; for(int x=0; x<text.length; x++) { System.out.print("String #"+x+": "); text[x] = sc.nextLine(); } for(int y=0; y<text.length; y++) System.out.println(text[y]); } }

扫描仪使用后关闭

使用以下扫描仪时: Scanner s = new Scanner(System.in); String response = s.next(); Boolean approved = (response.contains(“Y”) || response.contains(“y”)) ? true : false; if (approved){ Do Stuff } s.close(); 我没有得到这样的Elementexceptionexception: java.util.Scanner.next(未知来源)中java.util.Scanner.throwFor(未知来源)中线程“main”java.util.NoSuchElementException中的exception**** 我多次调用s(扫描程序),第二次调用时发生运行时错误。 这是由于关闭扫描仪而不是再次使用它。 我的问题是,每次我使用它时,我都在创建一个新的Scanner实例,为什么我收到runTime错误?

扫描仪,使用Delimiter

我在使用Scanner类中的useDelimiter时遇到了一些问题。 Scanner sc = new Scanner(System.in).useDelimiter(“-“); while(sc.hasNext()) { System.out.println(sc.next()); } 如果我有这个输入 ABC 输出将是 AB 等到我输入另一个“ – ”表示打印出最后一个字符 但是,如果我没有用户输入数据,而是将字符串插入扫描程序,则代码将起作用。 它是什么原因,我该如何解决? 我不想使用StringTokenzier

如何使用扫描仪获取行号

我正在使用扫描仪逐行读取文本文件但是如何获取行号,因为扫描程序遍历每个输入?我的程序是这样的: s = new Scanner(new BufferedReader(new FileReader(“input.txt”))); while (s.hasNext()) { System.out.print(s.next()); 这工作正常,但例如: 1,2,3 3,4,5 我想知道它的行号,这意味着1,2,3在第1行,而3,4,5在第2行。我怎么做到的?

文本文件hasNext()上的扫描程序是无限的

我正在用Java编写一个简单的程序,它需要从文本文件中读取数据。 但是,我在计算线路时遇到了麻烦。 对于简单的谷歌搜索来说,这个问题看起来很通用,但我甚至可能找不到合适的东西。 我正在学习的教科书建议,要计算文本文件中的行数,你应该这样做: public static int[] sampleDataArray(String inputFile) throws IOException { File file = new File(inputFile); Scanner inFile = new Scanner(file); int count = 0; while (inFile.hasNext()) count++; int[] numbersArray = new int[count]; inFile.reset(); for (int i = 0; i < count; i++) { numbersArray[i] = inFile.nextInt(); } inFile.close(); return numbersArray; } 在我看来, while […]

Java – Scanner – 跳过我上次的nextLine()请求

所以我早先实例化了Scanner scan但它在scan.nextLine()之后跳过我的第二个scan.nextInt() 。 我不明白为什么它会跳过它? System.out.println(“Something: “); String name = scan.nextLine(); System.out.println(“Something?: “); int number = scan.nextInt(); System.out.println(“Something?: “); String insurer = scan.nextLine(); System.out.println(“Something?: “); String another = scan.nextLine();

使用java.util.Scanner逐字节读取文件

我正在尝试使用java.util.Scanner逐个字符地读取一行文件。 但是我得到了这个例外“: Exception in thread “main” java.util.InputMismatchException: For input string: “contents of my file” at java.util.Scanner.nextByte(Scanner.java:1861) at java.util.Scanner.nextByte(Scanner.java:1814) at p008.main(p008.java:18) <– line where I do scanner.nextByte() 这是我的代码: public static void main(String[] args) throws FileNotFoundException { File source = new File(“file.txt”); Scanner scanner = new Scanner(source); while(scanner.hasNext()) { System.out.println((char)scanner.nextByte()); } scanner.close() } 有没有人对我可能做错了什么有任何想法? 编辑:我意识到我写了hasNext()而不是hasNextByte()。 但是,如果我这样做,它不打印任何东西。