Dúvida com Array e Contains (Solucionado)

7 respostas Resolvido
arraylist
R

Bom dia, escrevi o código a seguir na intenção de criar um Array que contivesse 3 números. Depois usei um JOptionPane de acordo com 3 opções parar pegar o número e usar o contains para fazer um check de qual foi a opção escolhida, porém o eclipse fica marcando o contains do código solicitando que eu converta para CharSequence. Procurei o erro mas não estou conseguindo encontrar, alguém pode me ajudar por favor ?

public class Icms {
public static void main(String[] args) {
	String[] index = new String[4];
	index[0] = "1";
	index[1] = "2";
	index[2] = "3";
	String produto = "";
	String saida = "";
	while (!produto.contains(index)) {
		produto = JOptionPane.showInputDialog("Digite o número do produto:\n1 - Milho\n2 - Soja\n3 - Feijão").toString();
	}
		
	while(!saida.contains(index)){
			saida = JOptionPane.showInputDialog("Digite o número do estado de saída:\n1 - GO\n2 - MG\n3 - DF").toString();
	}
		String entrada = JOptionPane.showInputDialog("Qual o estado de entrada");
	
}

7 Respostas

edumatias
Solucao aceita

Bom dia,

seu index é um vetor de String.

Para comparar usando o contains você tem que usar uma String.

Não sei se já trabalha com List, mas a caráter de teste pode fazer desta forma:

List<String> index = new ArrayList<String>();
	index.add("1");
	index.add("2");
	index.add("3");
	
	while (!index.contains(produto)) {
		produto = JOptionPane.showInputDialog("Digite o número do produto:\n1 - Milho\n2 - Soja\n3 - Feijão").toString();
	}

Caso queira usar um vetor mesmo assim você deverá percorrer o mesmo com um for e verificar posição por posição se a String já existe.

H

É muito simples você só precisa mudar de ‘’‘double quote’’’ para ‘’‘simgle quote’’’,
ou seja ponha o caracter dentro de aspas simples ‘1’ como esta que fiz aqui.
espero que tenha te ajudado.
espero que me ajudem no meu canal do youtube:
Hiperciencia Lendaria
espero que visitem o meu site da minha futura empresa:
http://www.starkindustriesepios.org

edumatias

@HIPERLENDARIO Cara você não fala nada com nada em nenhum tópico e fica passando links desconexos pra propagar algo seu e confundir o aprendizado.

R

Muito obrigado @edumatias a sua idéia funcionou bem!

staroski

Sua resposta não faz o menor sentido.

edumatias

Que bom @rennanvoa2.

Pode marcar o comentário como solução e editar o título do tópico como solucionado.

H

de boa ta tranquilo, é que eu entende errado, pois quando eu usava double quote dava erro falava pra por simgle quote foi por isso que falei mas na verdade nao entende direito.

Criado 19 de outubro de 2017
Ultima resposta 20 de out. de 2017
Respostas 7
Participantes 4