Erro ResultSet está fechado

[code]package DAO;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;

public class alteraDados {

public void autaliza(){
	
	
	Scanner ler = new Scanner(System.in);
	conectaBancoDAO carrega = new conectaBancoDAO();
	
	Connection con = null;
	Statement stm =  null;
	ResultSet rs = null;
	
	boolean consulta = true;
	
	try{
		
		con = carrega.fazConexao();
		stm = con.createStatement();
		
		
		System.out.println("Informe o nome que procura");
		String alterar = ler.next();
		
		//aqui estou vendo se o nome existe no bando de dados
		 rs = stm.executeQuery(" SELECT * from cadastro where cad_nome = '"+alterar+"' "); 
		 
		//aqui o while vai percorrer toda a tabela e ver se existe o banco de dados 
		 //se o nome existe entra aqui no while e faz o update
		while(rs.next()){
			consulta = false;
			
			System.out.println("Informe o nome para substituir");
			String nome = ler.next(); 
			 
			stm.executeUpdate("UPDATE cadastro set cad_nome= '"+alterar+"' where cad_nome= '"+nome+"' "); 
			
			System.out.println("Dados Alterados com Sucesso");
			  stm.close(); 
			  ler.close();
		}
		
		if(consulta){
			System.out.println("Nome não consta no banco");
		}
		
		 
	}catch(Exception e){
		e.printStackTrace();
	}
}

}[/code]

while(rs.next()){
consulta = false;

			System.out.println("Informe o nome para substituir");
			String nome = ler.next(); 
			 
                           //e so add esse pedaço de código que para de dar errado 
			stm = con.createStatement();



			stm.executeUpdate("UPDATE cadastro set cad_nome= '"+nome+"' where cad_nome= '"+alterar+"' "); 
			
			System.out.println("Dados Alterados com Sucesso");
			  stm.close(); 
			  ler.close();
		}

Cara, tenta um jeito mais elegante de arrumar e não complicar sua vida, do jeito que você fez funciona, mas com o tempo o consumo de memória vai aumentar desnecessariamente, tente dessa forma:

...
try{  
              
            con = carrega.fazConexao();  
            stm = con.createStatement();  
              
              
            System.out.println("Informe o nome que procura");  
            String alterar = ler.next();  
              
            //aqui estou vendo se o nome existe no bando de dados  
             rs = stm.executeQuery(" SELECT * from cadastro where cad_nome = '"+alterar+"' ");   
               
            //aqui o while vai percorrer toda a tabela e ver se existe o banco de dados   
             //se o nome existe entra aqui no while e faz o update  
            while(rs.next()){  
                consulta = false;  
                  
                System.out.println("Informe o nome para substituir");  
                String nome = ler.next();   
                   
                stm.executeUpdate("UPDATE cadastro set cad_nome= '"+alterar+"' where cad_nome= '"+nome+"' ");   
                  
                System.out.println("Dados Alterados com Sucesso");  

                 // o problema pode estar aqui...
                 // stm.close();   
                 // ler.close();  
            }  

            rs.close();
            stm.close();
            con.close();
              
            if(consulta){  
                System.out.println("Nome não consta no banco");  
            }  
              
               
        }catch(Exception e){  
            e.printStackTrace();  
        }  
...

Faça alguns testes pois aqui estou usando apenas a lógica, não testei seu código, mas perceba que eu só fecho o rs quanto o stm apenas depois de passar pelo while e não dentro dele.

Outra dica, como você está iniciando tudo bem, mas evite misturar query com variáveis, pesquise a respeito de PreparedStatement para fazer queries desse tipo:

PreparedStatement pstm = con.prepareStatement("UPDATE cadastro SET cad_nome = ? WHERE cad_nome = ?");

pstm.setString(1, "Nome"); // nesse caso começa por 1 e não por zero como em arrays
pstm.setString(2, "Nome");
pstm.executeUpdate();
...

Segue um tuto da própria oracle, está em inglês mas o que vale é estudar o código de início:

http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html