mas em que um dos valores, por exemplo o value1 seja uma variavel? queria criar um array de comprimento x qualquer, que quando comparado diga antes de chegar ao fim do array acontece ‘resultado1’ mas quando chega ao fim ai ja da o resultado2 (mas so quando se chega ao ultimo valor do array). Ainda nao sei como é que a variavel vai obter valores mas para ja queria saber se isto era possivel.
agradeço desde ja qualquer dica que possam dar, cumprimentos
Você quer comparar os valores do array?
você quer comparar o tamanho do array com os valores do array?
Explique melhor.
classComparisonDemo{publicstaticvoidmain(String[]args){intvalue1=Integer.parseInt(args[0]);// pega um valor de args intvalue2=2;int[]vetor=newint[10];// vc quer criar o array como assim? Ou com um valor vindo de algum lugar?//Que comparação vc quer fazer aqui?if(value1==value2)System.out.println("value1 == value2");if(value1!=value2)System.out.println("value1 != value2");}}
[]'s
C
CB1
Queria comparar uma variavel x as posiçoes do array, por exemplo: eu crio um array de comprimento 50 e quero executar um programa que me indique quando atingi a posiçao nº 50, nao se me expliquei melhor agora
a minha duvida esta na introduçao das variaveis, como identificar o valor1 como uma incognita?
Hildebrando_Pedroni
Tente isso:
publicclassArray{publicstaticvoidmain(String[]args){int[]vetor=newint[50];intvariavel=vetor.length-1;// aqui estamos colocamos - 1 porque vamos comparar com i. O nosso vetor tem 50 posições de 0 a 49for(inti=0;i<vetor.length;i++){if(i==variavel){// aqui eu poderia fazer assim tb : if (i == (vetor.length -1)) Eliminando a variavel la em cima.System.out.println("Fim do vetor");}else{System.out.println("Percorrendo...");}}}}
Se não for isso que vc quer me avise.
Hildebrando_Pedroni
Para vc deixar uma variavel vamos dizer incognita, vc deve manda-la de alguma forma…
Eu faria o seguinte
intincognita=Integer.parseInt(args[0]);
isso pega um numero passado como argumento para o seu programa… Claro que se vc mandar uma letra uma exceção será lançada.
Ai vc compila por exemplo assim.
javac MeuPorgrama.java 10
C
CB1
ahh -1 porque o array começa na posiçao 0 e tenho que subtrair -1 para obter o ultimo elemento entendi, mto obrigad!
Se eu quisesse contar as vezes que o array chegou ao fim, posso implementar isso no mesmo if?
do tipo System.out.println(“Fim do vetor”)&&//total=total +1
nao sei se é possivel fazer isto em java, eu programei num programa muito facil e basico e so tinhamos que fazer isso
obrigado de novo pela ajuda!
Hildebrando_Pedroni
Como assim contar quantas vezes o array chegou ao fim?
Ele vai chegar ao fim uma unica vez, a não ser que vc o percorra varias vezes dentro de um outro for ou loop while.
Ai vc pode declarar uma variavel contador e incrementa-la dentro do seu if mesmo.
Agora se vc for por exemplo chamar um metodo que percorra esse array, e todas as vezes que ele chegar no final do array vc precisar de um unico contador que conte quantas vezes o fim chegou, ai vc vai precisar declarar um contador estatico.
Mas acho que não é isso que vc quer.
C
CB1
ah muito util toda a informaçao que me deu, por acaso tava curiosa em relaçao ao contador. Vc resolveu todas as minhas questoes
muito obrigada mesmo
cumprimentos
Hildebrando_Pedroni
Uma variavel estatica é uma variavel que tem um particularidade interessante, ela não é uma variavel de instancia, é como se fosse uma variavel global, então quando vc da um new ela não é inicializada novamente.
no caso vc poderia fazer o seguinte:
publicclassArray{staticintcontador=0;publicstaticvoidmain(String[]args){int[]vetor=newint[50];// Variavel estaticaintvariavel=vetor.length-1;// aqui estamos colocamos - 1 porque vamos comparar com i. O nosso vetor tem 50 posições de 0 a 49 for(inti=0;i<vetor.length;i++){if(i==variavel){// aqui eu poderia fazer assim tb : if (i == (vetor.length -1)) Eliminando a variavel la em cima. System.out.println("Fim do vetor");contador++;//incrementa a variavel estatica. }else{System.out.println("Percorrendo...");}}}}
neste caso, não importa se de onde vc chamou o percorredor de array, sempre que ele incrementar o contador o mesmo vai ser um numero maior do que o anterior e será sempre crescente, nunca voltando ao estado 0, a não ser que vc faça ele voltar a este estado é claro.
Mas variaveis estaticas devem ser usadas com cautela, pois podem gerar dados incorretos caso sejam utilizadas de maneira errada.