Pq dá este erro?

[code]import java.io.*;
class Funcionario
{
public int mat;
static String nome;
static String funcao;
static float salario;
}

class Principal
{
public static void main(String[]args)
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

        try 
            { 
              Funcionario func1 = new Funcionario(); 
              func1.nome = br.readLine();
              func1.nome = func1.nome.trim(); 
            } 
         catch(IOException e) 
            { 
              System.out.println("Erro na entrada dos dados"); 
              System.exit(0); 
            } 
} 

}[/code]

Agora está correto.

É porque ao escrever func1.nome vc colocou antes String, com isso o compilador entende que vc tá tentando declarar uma nova variável e por isso pede o ponto e vírgula. Tira a palavra String na linha:

String func1.nome = br.readLine();

Ao corrigir isso vai aparecer outro erro porque vc tá tentando usar variáveis de instância em um contexto estático, então, ou vc coloca as variáveis isr e br dentro do main ou as declara estáticas. Boa sorte!