Hello, I have written a simple program that scans a text file into an ArrayList, searches for a specified word in the arraylist and prints the position of the word and the line it's on. I am trying to write some code that can make the word display in upper case when the line is printed but I am having some trouble.
Any help would be appreciated.
Any help would be appreciated.
import java.util.*; import java.io.*; public class ArrayListSearch { public static void main(String[] args) { File textFile = new File("Principia.txt"); Scanner scan = null; Scanner input = null; ArrayList<String> text = new ArrayList<String>(); try { scan = new Scanner(textFile); input = new Scanner(System.in); } catch (FileNotFoundException ex) { System.err.println("No such name"); } while (scan.hasNext()) { text.add(scan.nextLine()); } int line = 0; int count = 0; System.out.print("Enter word to search for: " ); String searchInput = input.next(); for (String s : text) { //line counter line++; //search for word if (s.contains(searchInput)) { //print line and position of word System.out.println("Line: \"" + s + "\""); System.out.println("Word found on line: (" + line + ") at position (" + s.indexOf(searchInput) + ")\n"); /* Tried this to change word to upper case * * int wordLocation = text.indexOf(searchInput); * text.remove(searchInput); * text.add(searchInput.toUpperCase()); * System.out.println(text); * * need iterator? */ } //number of times word appears in text if (s.indexOf(searchInput) > 0) { count++; } } System.out.println("Number of times word(s) found: " + count + "\n"); } }