Note that there are some explanatory texts on larger screens.

plurals
  1. POError: java.util.NoSuchElementException - Scanner not behaving as desired
    primarykey
    data
    text
    <p>Scanner returning NoSuch Element Exception error. Could you explain why is this happening.</p> <p>The Scanner now passes and runs fine but it didn't take the nextLine input from the second Scanner call. This may be a little tweak but could someone point out what the mistake is. </p> <pre><code>public class JavaHW1_1 { private static Scanner userInput = new Scanner(System.in); public static void main(String[] args) throws IOException { String pattern ; String fileName = null; // Method to manage user inputs fileName = userInputFileName(userInput); pattern = userInputPattern(userInput); // To find the pattern in the file // findPattern(); } private static String userInputPattern(Scanner userInput) { String pattern = "JollyGood"; System.out.println(". Please enter a pattern to find in the file"); while(userInput.hasNextLine()){ pattern = userInput.nextLine(); System.out.println("The pattern to be searched: "+ pattern); } userInput.close(); return pattern; } private static String userInputFileName(Scanner userInput) throws IOException { String path = "./src"; String files, fileName; File folder = new File(path); File[] listOfFiles = folder.listFiles(); System.out.println("Please input the desired file name:\n"); System.out.println("Some suggestions:\n"); for (int i = 0; i &lt; listOfFiles.length; i++) { if (listOfFiles[i].isFile() &amp;&amp; listOfFiles[i].getName().toLowerCase().endsWith(".txt")) { files = listOfFiles[i].getName(); System.out.println(files); } } int userAttempt = 0; do{ fileName = userInput.nextLine(); if(fileName.toLowerCase().endsWith(".txt")){ System.out.println("The file name entered is in correct format"); File file = new File("./src",fileName); try { file.createNewFile(); System.out.println("File is created. Please enter text to be written in the file. End the content with \"eof\""); InputOutput(file.getName()); } catch (IOException e) { e.printStackTrace(); } userAttempt = 10; } else {System.out.println("Please enter correct format file with .txt extension"); userAttempt++;} }while (userAttempt &lt;10); return fileName; } private static void InputOutput(String fName) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter out = null; try { out = new BufferedWriter(new FileWriter("./src/" + fName)); String inputLine = null; do { inputLine=in.readLine(); out.write(inputLine); out.newLine(); } while (!inputLine.equalsIgnoreCase("aaa")); System.out.print("Write Successful"); } catch(IOException e1) { System.out.println("Error during reading/writing"); } finally { out.close(); in.close(); } } private static void findPattern() { // TODO Auto-generated method stub } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload