Como atribuir um vetor ao outro?

18 respostas
polar2099

bom galera o PEPINO he o seguinte
eu tenho 3 vetores declarados primeiro de 12 posições com os meses do ano EX: ( Janeiro,fev,março.etc… ) o segundo de 4 posicoes com as estações do ano EX: ( verao, primavera, inverno, outono ) e o terceiro de 3 posições com os Dias de cada Mês EX: ( 31,30,28 )…
agora q complica eu tenho q receber do teclado no caso usuario do programa o mes q conta no vetor 1 EX ( janeiro, fev, marco etc… ) e imprimir na tela os dias e a estação do ano desse mês…=/
brabo em…
se alguem puder ajudar agradeço desde jah…

18 Respostas

pimenta

Muita calma nessa hora…

Explica melhor o que você tem que fazer…

Se eu entendi não é tão complicado assim como você está pensando.

polar2099

Bom Meu Caro AMigo Pimenta…

eu tentei fazer mais ou menos isso mais ateh enpaquei no pensamento me confundi tudo dai…

tenta pegar meu raciocinio…e dar uma ajuda…=)

import java.util.Scanner;

public class p23exe2 {

public static void main(String[] args)
{
String[] estacao = new String[4];	
	
	estacao[0]= "Verão" ;
	estacao[1]= "Inverno" ;
	estacao[2]= "Outono" ;
	estacao[3]= "Primavera" ;
	
int[] dias = new int[3];	
	
	dias[0]= 31 ;                
    dias[1]= 30 ;          
	dias[2]= 31 ;
	
String[] mes = new String[12];	
	
    mes[0] = "janeiro" ;
    mes[1] = "fevereiro" ;
    mes[2] = "março" ;
    mes[3] = "abril" ;
    mes[4] = "maio" ;
    mes[5] = "junho" ;
    mes[6] = "julho" ;
    mes[7] = "agosto" ;
    mes[8] = "setembro" ;
    mes[9] = "outubro" ;
    mes[10]= "novembro" ;
    mes[11]= "dezembro" ;
    	
    Scanner sc=new Scanner(System.in);   
	  
	System.out.println("Digite um Valor de 1 a 5 para Qualidade Do Programa: ");   
	  
?????? lol	String  lol=sc.nextString(); lol ????  
    	
}
polar2099

mentira o final he assim

System.out.println("Digite o mes q vc deseja em letra minuscula: ");

?????? lol	String  lol=sc.nextString(); lol ????  
    	
}
pimenta

Você quer saber como que você captura o que o usuário digitou?
É isso?

polar2099

isso mesmo… =)

leandro.anjos

Desculpas meu camarada, mas você ta falando de tanto vetor que nem ta parecendo Java (em Java a gente prefere sempre trabalhar com objetos).

Mas vamos lá vou ti dar uma maozinha só dessa vez:

Voce deve criar uma matriz de strings [12][3] onde você teria 12 posicoes referente aos meses do ano e 3 posições referente ao nome do mes(Janeiro), à estação do ano (Primavera ou Verão, sei lá) e a quantidade de Dias no mes.

Não espere que eu envie o código, já fiz muito ti passado a logica. :smiley:

leandro.anjos

Putz véio, pelo menos de um nome ao seu programa p23exe2 :smiley:

polar2099

desculpa velho hé q eu to comecando em java fazendo curso esse he o exe2 da pag23 por isso dei p23ex2…
eu sou acostumado com c++ mais da nada muito obrigado leandro…
espero um dia ficar fera tbm…
vlw cara…
t++

polar2099

na verdade num entendi nada mais tudo bem…

pimenta

Se o seu problema é só capturar o que o usuário digita você resolve assim:

Scanner sc = new Scanner(System.in); String s = sc.nexLine();

Ou seja, seu problema já está resolvido…

E se vale a sujestão, ao invés de trabalhar com vetor String, trabalha com ArrayList. Terá métodos que te serão muito úteis pro que você quer fazer…

Abraços,

spadinha

o que o leandro quis dizer para vc é para vc criar uma matriz tridimensional ao inves de ficar criando um monte de matrizes e vinculando elas.

acho q foi isso

caso vc queira o nome do mes vc retorna a posicao 0
caso vc queira o numero de dias a posicao 1
e caso vc queira a estacao retorne a posicao 2

tente algo assim

polar2099

olha aki como eu faço sera q uso if else pra comparar com oq o usuario digitou???

import java.util.Scanner;

public class p23exe2 {

public static void main(String[] args)
{
String[] estacao = new String[4];	
	
	estacao[0]= "Verão" ;
	estacao[1]= "Inverno" ;
	estacao[2]= "Outono" ;
	estacao[3]= "Primavera" ;
	
int[] dias = new int[3];	
	
	dias[0]= 31 ;                
    dias[1]= 30 ;          
	dias[2]= 31 ;
	
String[] mes = new String[12];	
	
    mes[0] = "janeiro" ;
    mes[1] = "fevereiro" ;
    mes[2] = "março" ;
    mes[3] = "abril" ;
    mes[4] = "maio" ;
    mes[5] = "junho" ;
    mes[6] = "julho" ;
    mes[7] = "agosto" ;
    mes[8] = "setembro" ;
    mes[9] = "outubro" ;
    mes[10]= "novembro" ;
    mes[11]= "dezembro" ;
    	
    Scanner sc=new Scanner(System.in);   
	  
	System.out.println("Digite o mes q vc deseja em letra minuscula: ");   
	  
    String mesc =sc.nextLine();
    	
    if()  
	{      
	}   
	else   
	{   
	  
	}   
	  
	}
pimenta

A formaque você tem de comparar o que o usuário digitou é com o if mesmo.
Só que você vai ter que varrer o vetor, posição por posição, até encontrar um conteúdo que coincida com o que o usuário digitou.

polar2099

he o Scanner num faiz isso???

desculpa se for pergunta idiota eu so novo…

polar2099

se nao tem otro jeito de fazer???

pimenta

A pergunta não é idiota.

Não, o Scanner não faz isso. O Scanner é uma forma de capturar o que osuário digita e mais nada.

Por isso que existe o:

String s = sc.nextLine();

Nesse trecho é atribuído à String s o que foi digitado pelo usuário.

Entendeu?

Na String s você tem o que o usuário digitou. Você vai ter que passar registro por registro do seu vetor comparando se o que o usuário digitou é igual ao que você tem armazenado em um dos registros.

Allan_BSO

A melhor maneira na minha opiniao

import java.util.Scanner; 

public class Testes{ 

public static void main(String[] args) { 

Scanner input=new Scanner(System.in); 

String estacao[] = {"Verão","Inverno","Outono","Primavera"};
int dias[] = {31,30,29};

String[] mes = new String[12]; 

mes[0] = "janeiro" ; 
mes[1] = "fevereiro" ; 
mes[2] = "março" ; 
mes[3] = "abril" ; 
mes[4] = "maio" ; 
mes[5] = "junho" ; 
mes[6] = "julho" ; 
mes[7] = "agosto" ; 
mes[8] = "setembro" ; 
mes[9] = "outubro" ; 
mes[10]= "novembro" ; 
mes[11]= "dezembro" ; 



System.out.println("Digite o mes q vc deseja em letra minuscula: "); 

String mesDigitado =input.nextLine(); 

// exibe o mes que vc digitou em numero

for(int i=0; i<mes.lenght;i++){
if (mes[i+1] == mesDigitado){
System.out.println("O mes que voce digitou é: "+(i+1));
}
}

}

Verifiquem...

flws

spadinha

cara o scanner vai capturar o que vc vai digitar

veja q vc esta atribuindo um inputstream nele

Criado 21 de maio de 2008
Ultima resposta 23 de mai. de 2008
Respostas 18
Participantes 5