Percorrer e Comparar Array de String

Estou criando uma criptografia básica, baseada em comparação de arrays Strings.

Tem alguma maneira que eu possa percorrer meus elementos do array e ir comparando com meus dados de entrada?

Por exemplo:

    String[] chave = {"Z","E","N","I","T","P","O","L","A","R"};
    String[] word = {"D","A","N","I","L","O"};

Entro com a Palavra Danilo ele compara a primeira letra “D” com a demais

Se “D” for igual a “Z” faça tal e se não for passe para a próxima, ai então comparará com “E” e assim por diante, eu pensei no uso de um for para percorrer, seria a melhor forma?

Obrigado pela atenção

Cara com certeza tem, a classe String tem uma diversidade de métodos que te ajudam em tarefas como essa.
Use o metodo: “equals()”, ele serve para comparar dois objetos.
se vc está trabalhando com array de String não é vantajoso vc colocar cada letra da palvra em uma posição do array de String, a não ser vc trabalhase com char, a melhor sugestão é q vc faça assim

String[] chave = {"ZENITPOLAR"};
String[] word = {"DANILO"}; 

if(chave[0].equals(word[0]))//se as Strings forem iguais
{
        System.out.println("Acesso permitido!");
    }else{
        System.out.println("Acesso negado!");
}

eu aconcelho a vc dar uma estudadinha nas API’s blz
espero ter ajudado

Entendi, mas pensei em fazer assim, porque eu quero fazer desse jeito:

ZENIT
POLAR

é minha chave

DANILO

a informação que eu quero que seja “criptografada”

Vamos lá:

Verifico se a letra D tem na palavra zenit, como não tem eu vejo na polar, não tem entao eu guardo o “D”, faço com o proximo, verifico se tem “A” no ZENIT, como nao tem passo para o proximo, existe a letra A no POLAR está na posição numero 4, então eu guardarei a posição numero 4 da palavra de cima, que é o I e assim por diante

o nome Danilo ficaria DILANE
CASA ficara CISI e assim por diante.

Esse é meu objetivo, eu pensei em entrar com uma string e quebrar no vetor, mas isso tenho que procurar tbm, alguém tem alguma ideia diferente da minha?

alguém?

brinca ai

	public static void main(String[] args) {
		System.out.println(crypt("DANILO"));
		System.out.println(crypt("CASA"));
	}

	static String crypt(String s) {
		final StringBuilder sb = new StringBuilder();
		for (char c : s.toCharArray()) {
			sb.append(crypt(c));
		}
		return sb.toString();
	}

	static char crypt(char c) {
		final String[] palavras = { "ZENIT", "POLAR" };
		for (int i = 0; i < palavras.length; i++) {
			final int idx = palavras[i].indexOf(c);
			if (idx < 0) {
				continue;
			}
			// o que fazer quando ja achar a palavra na posicao 0?! estou
			// pegando da ultima string
			final String palavraAnterior = i > 0 ? palavras[i - 1]
					: palavras[palavras.length - 1];
			// o que fazer quando nao existe posicao idx na string anterior?
			// tipo acha posicao 4 mas a string anterior tem tamanho 3
			return palavraAnterior.charAt(idx);
		}
		return c;
	}

aconselho a quebrar todas as letras das palavras separadamente, depois vc faz o teste usando for e vai brincando fazendo o resto. Até podia te entregar mastigado mais acho q não é oq vc quer.

usa um charAt e um for pra quebrar acho q é o método mais simples.

Bom dia,

Estou com dificuldade de trabalhar com Arrays. Gostaria da ajuda de vocês.
Preciso gravar em uma Array (String) dados de em um banco.

Exemplo:
Tenho uma tabela Pessoa. No 1º indice gostaria de gravar no array: Nome, Endereço, Bairro, Cidade e Estado.
E assim por diante até percorrer todo a minha query, ou seja, ficaria desta forma o array:

0 Joao Rua Joao, 100 Bairro Joao São Paulo SP
1 Jose Rua Jose, 500 Bairro Jose Rio de Janeiro RJ
2 Marcio Rua Marcio, 1000 Bairro Marcio Goias GO
3 Carlos Rua Carlos, 2000 Bairro Carlos Minas Gerais MG
4 Renato Rua Renato, 3000 Bairro Renato Mato Grosso MT

Lembrando que, não tenho o tamanho do array em linhas só a qtd de colunas.

Algum pode me dar alguma dica ou um exemplo de como posso resolver isso.

Depois de ler alguns artigos, apostila e etc…
Acho que teoricamente consegui entender o conceito de arrays, mais na hora de colocar em pratica estou com um pouco de dificuldade.

Desde muito obrigado.
Leandro

Bom dia,

Estou com dificuldade de trabalhar com Arrays. Gostaria da ajuda de vocês.
Preciso gravar em uma Array (String) dados de em um banco.

Exemplo:
Tenho uma tabela Pessoa. No 1º indice gostaria de gravar no array: Nome, Endereço, Bairro, Cidade e Estado.
E assim por diante até percorrer todo a minha query, ou seja, ficaria desta forma o array:

0—Joao------Rua Joao, 100----------Bairro Joao----São Paulo-------SP
1—Jose— ---Rua Jose, 500----------Bairro Jose----Rio de Janeiro–RJ
2—Marcio----Rua Marcio, 1000-----Bairro Marcio–Goias-----------GO
3—Carlos----Rua Carlos, 2000-----Bairro Carlos–Minas Gerais—MG
4—Renato—Rua Renato, 3000----Bairro Renato–Mato Grosso—MT

Lembrando que, não tenho o tamanho do array em linhas só a qtd de colunas.

Algum pode me dar alguma dica ou um exemplo de como posso resolver isso.

Depois de ler alguns artigos, apostila e etc…
Acho que teoricamente consegui entender o conceito de arrays, mais na hora de colocar em pratica estou com um pouco de dificuldade.

Desde muito obrigado.
Leandro

[quote=leandrooooo]Bom dia,

Estou com dificuldade de trabalhar com Arrays. Gostaria da ajuda de vocês.
Preciso gravar em uma Array (String) dados de em um banco.

Exemplo:
Tenho uma tabela Pessoa. No 1º indice gostaria de gravar no array: Nome, Endereço, Bairro, Cidade e Estado.
E assim por diante até percorrer todo a minha query, ou seja, ficaria desta forma o array:

0—Joao------Rua Joao, 100----------Bairro Joao----São Paulo-------SP
1—Jose— ---Rua Jose, 500----------Bairro Jose----Rio de Janeiro–RJ
2—Marcio----Rua Marcio, 1000-----Bairro Marcio–Goias-----------GO
3—Carlos----Rua Carlos, 2000-----Bairro Carlos–Minas Gerais—MG
4—Renato—Rua Renato, 3000----Bairro Renato–Mato Grosso—MT

Lembrando que, não tenho o tamanho do array em linhas só a qtd de colunas.

Algum pode me dar alguma dica ou um exemplo de como posso resolver isso.

Depois de ler alguns artigos, apostila e etc…
Acho que teoricamente consegui entender o conceito de arrays, mais na hora de colocar em pratica estou com um pouco de dificuldade.

Desde muito obrigado.
Leandro[/quote]

Primeiro olha o flood .
Segundo vamos la =) .
Voçe já deve ter uma classe parecida com esta.

class TestArray{
	private	String nome ;
	private	String endereco;
	private	String setor;
	private String cidade;
	private String estado;


	public String getNome(){
		return nome;
	}
	public String getEndereco(){
		return endereco;
	}
	public String getSetor(){
		return setor;
	}
	public String getCidade(){
		return cidade;
	}
	public String getEstado(){
		return estado;
	}

	public void setNome(String nome){
		this.nome = nome;
	}
	public void setEndereco(String endereco){
		this.endereco = endereco;
	}
	public void setSetor(String setor){
		this.setor = setor;
	}
	public void setCidade(String cidade){
		this.cidade = cidade;
	}
	public void setEstado(String estado){
		this.estado = estado;
	}
}[/code]

Então Voçe vai ter um metodo parecido com o seguinte .

[code]    public List getArray( String sql ) {
        List listaPesquisa = new ArrayList();
        Connection con      = null;
        PreparedStatement st = null;
        ResultSet res        = null;
        
        try {
            con = getConnection(usuarioDB, senhaDB);
            st  = con.prepareStatement( sql );
            res = st.executeQuery();
            
            while ( res.next() ) {
              TesteArray  lista = new TesteArray();
              lista.setNome(res.getString( 1 ));
              lista.setEndereco(res.getString( 2 ));
              lista.setSetor(res.getString( 3 ));
              lista.setCidade(res.getString( 4 ));
              lista.setEstado(res.getString( 5 ));

              listaPesquisa.add(lista);
            }
            
            res.close();
            st.close();
        }catch(SQLException e){
            System.out.print(e.getMessage());
        } finally {
            try{
                con.close();
            }catch(Exception t){
                System.out.print(t.getMessage());
            }
        }
        
        return listaPesquisa;
    }

Deste jeito voçe alimentou o seu ArrayList, agora basta percorrer utilizando um simples laço for ou um foreach , chamando os métodos get’s para extração dos dados.

Obs : Acho melhor voçe trabalhar com ArrayList do que diretamente com array .

Espero ter ajudado . :slight_smile:

Edmar,

Obrigado pela resposta.
Vou estuda-la.

Leandro

[quote=leandrooooo]Edmar,

Obrigado pela resposta.
Vou estuda-la.

Leandro
[/quote]

Lembrando … como utilizei List , vc pode percorrer usando Interator .

Edmar,

Está tudo rodando bunitinho…hehehehe…

Agora, para imprimir em ordem crescente esse dados, como faço?

Por exemplo, em ordem crescente por bairro.

É possivél?

Obrigado por enquanto.

[quote=leandrooooo]Edmar,

Está tudo rodando bunitinho…hehehehe…

Agora, para imprimir em ordem crescente esse dados, como faço?

Por exemplo, em ordem crescente por bairro.

É possivél?

Obrigado por enquanto.

[/quote]

Bom vc ja pode tratar no propio sql que vc usou para listar no banco , usando um Order By .
Ao popular a lista vc ira popular da maneira como esta no select . :smiley:

É que agora estou pegando informações de duas tabelas e alocando dentro do mesmo arrayLists.

Não posso fazer um join entre as tabelas.

E nas duas tabelas tenho um campo hora, e por esse campos que gostaria de ordenar.

[quote=leandrooooo]É que agora estou pegando informações de duas tabelas e alocando dentro do mesmo arrayLists.

[/quote]
Como assim … Explique-se melhor .

Ok…Vamos lá…esses iniciantes (neste caso eu) da um trabalho…hehehehe…

Tenho uma tabela chamada Conexao e os campos:
data, hora, descrie proxpedido

Outra tabela chamada Pedido e os campos:
data, horape, codcli e nomecli

Pego os dados das duas tabelas e add dentro do arraylist.

Depois quero imprimir em order crescente por hora.

[quote=leandrooooo]Ok…Vamos lá…esses iniciantes (neste caso eu) da um trabalho…hehehehe…

Tenho uma tabela chamada Conexao e os campos:
data, hora, descrie proxpedido

Outra tabela chamada Pedido e os campos:
data, horape, codcli e nomecli

Pego os dados das duas tabelas e add dentro do arraylist.

Depois quero imprimir em order crescente por hora.

[/quote]

Ah algum relacionamento entre eles ?

Não tem.
Mais preciso mostrar essa duas informação na mesma tela.