Ajudem me por favor n sei guardar valores em vectores

Bons dias caros amigos espero k me ajudem neste problema k estou a ter.Eu estou alki a estudar para uma frequencia e n consigo criar um algoritmo k parece ser tão simples mas k me esta a dar cabo da cabeça vou “dize-lo”:

Implemente uma função de mair_menor(int vec[15], char c) que aceite um vector de inteiros positivos e um caractere.Se o caracter recebido for’M’ a função deverá devolver o maior inteiro contido no vector, se for ‘m’ o menor inteiro contido no vector.Caso o caracter n seja ‘m’ nem ‘M’ a função devolvera -1.

aqui está o meu problema é n saber guardar os valores nos vectores depois de digitar um numero…tipo para criar um vector com nome ve é preciso fazer:

int [] ve=new in[15]; pois eu pus com tamanho de 16 elementos mas eu keria saber por n elementos sem ter limite…espero k n esteja a ser confuso pois eu a explicar sou mm mto filme…agradeço a kem me ajude o mais rapido possivel OBRIGADO

bem, eu não entendi direito… mas vou tentar ajudar
vou dar uma aulinha de vetores em java


//para criar um vetor

tipo_do_vetor [] nome_do_vetor = new tipo_do_vetor[numero_de _posições];

ex:

int[] vetor = new int[15];

neste caso, criei um vetor de 15 posições.

mas vetor em java, começa na posição 0 (zero)

ou seja, o vetor que eu criei vai da posição 0 até a posição 14!

para colocar um valor da posição do vetor:

nome_do_vetor[indice] = valor;

ex:

vetor[0] = 56;

nesse caso, estou atribuindo o valor de 56 na posição 0, ou seja, na primeira posição do vetor

vale lembrar do metodo add

vetor.add(ugabuga) onde ugabuga eh um valor ou variavel :slight_smile:
flw

obrigado microfilo pela sua atenção á minha mensagem, o problema é k já sei o k o amigo teve me a explicar…o meu problema é kerer ter um vector sem limite no exemplo k me deu tinha um limite k era kd xega-se á posição 14 mas eu n kero k tenha limite espero k desta tenha explicado melhor a minha duvida e agradeço a kem me responder ou melhor explicar obrigado…

Olá!
Quando voce cria assim int[] x=new int[16] vc esta criando um array com 16 posiçoes que vai ter sempre as 16 posiçoes…Para resolver o seu problema vc tem que usar um vector.

lembre de importar a classe java.util.Vector;
depois…
Vector v=new Vector();
ele não tem tamanho definido.
depois usa…
v.addElement(parametro); //Para inserir
v.elementAt(posicao) // retorna o conteudo do vector na posicao que vc passou…lembre que a posicao eh um int

Obrigado amigo nado pela sua ajuda vou expermentar essa dica k me deu :)…já agora voce conseguia fazer este exercicio k me apareceu numa frequencia esta segunda feira…eu enterrei me fortemente mas kero ver se dia 14 k é o meu ultimo exame mostro o k sei de java ehehe vingança :slight_smile:

Implemente uma função de mair_menor(int vec[15], char c) que aceite um vector de inteiros positivos e um caractere.Se o caracter recebido for’M’ a função deverá devolver o maior inteiro contido no vector, se for ‘m’ o menor inteiro contido no vector.Caso o caracter n seja ‘m’ nem ‘M’ a função devolvera -1.

agradecia a sua ajuda…

Olá amigo!

pelo que pude entender esse vetor tem de ser estático…
sendo assim voce vai ter de fazer como o microfilo explicou…

pra vc varrer o vetor voce pode fazer da seguinte maneira:

for (int i=0; i < seuVetor.lenght(); i++){
//aqui  voce coloca a sua lógica
}

pra poder acessar um valor usando essa repetição
vc faz assim:

int valor = seuvetor[i];

espero que minha explicação tenha sido clara
qualquer dúvida estamos ai…

n estou a perceber mto bem a vossa explicação estou mm mto mau kto á programação java…se me podessem dar um exemplo do genero k vou dizer agradecia.

inserir na tela varios numeros e k sejam guardados num vector…dps imprimir na consola os nº pares k estão guardados nos vectores.

exempo: digito 2 , 3 ,4, 5…

e na consola aparece só os nºs pares k estão nos vectores

tipo so aparece o 2 e o 4

a formula para detectar os nºs pares é (n=n%2) if n==0 o numero é par

digitem o codigo todo por favor assim é mais facil de eu perceber ok obrigado pela vossa atenção

[code]public class array {
public static void main(String args[]) {
int n = 0;

  int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

  for(int i = 0; i < array.length; i++) {
       n = array[i] % 2;
       if( n == 0 ) 
          System.out.println("Numero Par: " + array[i]
  }

}
}[/code]

obrigado amigo pela sua ajuda…eheh mas o verdadeiro problema é n ter ja os valores e sim introduzi los para o compilador ler e dps imprimir na consola…espero k percebam…

public class array {
public static void main(String args[]) {
int n = 0;

  int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//ter um array sem nº defenidos

//depois eu introduzo na consola uns nºs á sorte e tem k guardar num vector esses nºs dps é k imprime os meus nºs k introduzi á sorte kuais são os pares

  for(int i = 0; i &lt; array.length; i++) {
       n = array[i] % 2;
       if( n == 0 )
          System.out.println("Numero Par: " + array[i]
  }

}
}

obrigado pela vossa atenção estou contente por estarem a coperar cmg obrigado mm

mais uma ajuda agradecia estou numa alhada

public class array {
public static void main(String args[]) {
int n = 0;

  int[] array = new int[10];//kero k n tenha limite o vector
  System.out.println("Os numeros pares são:");

  for(int i = 0; i &lt; array.length; i++) 
  {
      while(i!=-1)
      {
      array[i]=Le.umInt();//ficheiro k lê o ~º introduzido na consola
       n = array[i] % 2;
      }
      if(i=-1)//ao fazer -1 sai do programa e imprimia os valores pares k introduzi todos numa so vez
      {
       if( n == 0 )
          System.out.print(array[i]+ ",");//imprimia os valores pares k eu introduzi
      }
  }

}
}

código ajustado…

[code]import javax.swing.JOptionPane;
public class array {
public static void main(String args[]) {

 int total = Integer.parseInt(JOprionPane.showInputDialog("Digite a qtd total de numeros: ");


  int[] array = new int[total];

  for(int i = 0; i < total; i++) {
       int numero = Integer.parseInt(JOprionPane.showInputDialog("Digite o numero: ");
      array[i]  =  numero;
  }

  //Aqui verifica os nums pares
  for(int i = 0; i < total; i++) {
       int n  = 0;
       n = array[i] % 2;
       if( n == 0 )
          System.out.println("Numero Par: " + array[i]
  }

}
}[/code]

isso deve funcionar(naum testei)

obrigado pela ajuda…

tem dois erros o cido k geriu

k são nestas 2 linhas

int total = Integer.parseInt.JOptionPane.showInputDialog("Digite a qtd total de numeros: ");

e nesta

int numero = Integer.parseInt.JOptionPane.showInputDialog("Digite o numero: ");

deduzi k era o ponto’.’ pois estava o ‘(’ mas tal n corrigiu o k será?

ja corrigi o erro faltava fechar o ‘)’ valeu a sua ajuda…OBRIGADO

pode me explicar o k faz estas linhas :

int numero = Integer.parseInt(JOptionPane.showInputDialog("Digite o numero: "));
array[i] = numero;

esta funcionando eheh mas agora falta perceber o k fazem estas linhas agradeço sua resposta

Integer.parseInt => converte a String para inteiro.
JOptionPane.showInputDialog(""); ==> você inputa um valor.

array[i] = numero ==> atribui no vetor na posicao i o numero.

com a sua ajuda fiz isto:

import javax.swing.*;
public class tempo_segundos
{
public static void main(String []ars)
{
int total = Integer.parseInt(JOptionPane.showInputDialog("Digite o total de numeros k ker converter de minutos para segundos: "));

int[] array = new int[total];

for(int i = 0; i &lt; total; i++) 
{
       int numero = Integer.parseInt(JOptionPane.showInputDialog("Digite os minutos k ker converter para segundos: "));
      array[i]  =  numero;
}
System.out.println("Os minutos convertidos sao:");
System.out.println();
for (int i=0;i&lt;total;i++)
{
    int n=0;
    n=array[i]*60;
    
    
        System.out.println("       "+array[i]+" minutos são:"+n+" segundos");
}
}

}

para completar isto keria k retornasse o valor minimo contido no vector

do genero

introduzia k keria converter 2 numeros

k eram

2 minutos
e
3minutos

compilava e aparecia a sua conversão

120 segundos e 180 segundos

e keria k aparecesse dpepois o minuto k introduzi mais pekeno k foi o 2

genero o minuto menor foi 2 minutos
percebeu?..

Amigo, existem muitas funçoes de sort em java q vc poderia adaptar para te retornnar o menor valor, ou entao vc poderia fazer uma coisa assim:

int menorValor(int[] a)
{
int aux = a[0];
for(int i=0;i<=a.length;i++)
{
if(a[i]<aux)
{
aux = a[i];
}
}
return aux;
}

bom, nao testei, a logica eh esse se der algum erro pode ser de compilaçao, testa ai.
falows

obrigado amigo pela sua ajuda mas eu ja estou tão confuso k n sei fazer nada de jeito podias me ajudar a juntar o teu raciocinio ao meu programa agradecia lol ai estou um zero nisto…mas kero imenso aprender Java

import javax.swing.*;
public class tempo_segundos
{
int menorValor(int[] a)
{
int aux = a[0];
for(int i=0;i<=a.length;i++)
{
if(a[i]<aux)
{
aux = a[i];
}
}
return aux;
}
public static void main(String []ars)
{
int total = Integer.parseInt(JOptionPane.showInputDialog("Digite o total de numeros k ker converter de minutos para segundos: "));

int[] array = new int[total];

for(int i = 0; i &lt; total; i++) 
{
       int numero = Integer.parseInt(JOptionPane.showInputDialog("Digite os minutos k ker converter para segundos: "));
      array[i]  =  numero;
}
System.out.println("Os minutos convertidos sao:");
System.out.println();

for (int i=0 ; i&lt;total ;i++)
{
    int n=0;
    n=array[i]*60;
    
    
   System.out.println("       "+array[i]+" minutos são:"+n+" segundos");
  
}
}

}

pelo q eu entendi eh mais ou menos issu:
a variavel do tipo int “numero” vai receber o conteudo vindo de um
JOptionPane.showInputDialog (tipo uma caixa de entrada onde vc vai digita os valores a serem utilizados)
a cada volta q o lup FOR der, um numero digitado sera atribuido a uma posicao dentro do array[i].
eh mais ou menos issu
porfavor me corrijam c estiver falando bestera
ateh mais

Erraaaaaata (to meio atrazado na conversa, vi a pagina anterior, foi maws :oops: )