how do i declare a scanner object, filescan publicly so that i may use filescan in varios functions

i found this statement in a forum---->
private static Scanner scanner = new Scanner (1 3 4 4");

when I modified it to----->
public static Scanner filescan = new Scanner(new File("inputdata.txt"));

//declared in the main

i get the following error message
Illegal modifier for parameter scanner; only final is permitted

Thank you guys

Recommended Answers

All 4 Replies

Make it a class level variable - not a public static member.

Yes ..
it has to be simply

Scanner filescan = new Scanner(new File("inputdata.txt"));

FYI :

Scanner is from - java.util.Scanner

A simple text scanner which can parse primitive types and strings using regular expressions.

A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods.

For example, this code allows a user to read a number from System.in:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

public class praogram1 
{
Scanner scanner  = new Scanner (new File ("t.txt"));
     public static void main(String[] args)
        {
        }
}

ok..im tryin to define it at the class level and i run into this issue now. How do i throw an IOException at this level

Default constructor cannot handle exception type FileNotFoundException thrown by implicit super constructor. Must define an explicit constructor

public class Program1 {

    Scanner scanner = null;
    
    public Program1(){
        try {
            scanner = new Scanner(new File("t.txt"));
        } catch (FileNotFoundException fe){
            fe.printStackTrace();
        }
    }

    public static void main(String[] args) {
        
    }
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.