Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GeanT

código java no Netbeans

Recommended Posts

É o seguinte...

 

Criei um "vetor" de String com 10 espaços, esses espaços tem que ser preenchidos pelo usuário, mas tudo em uma só linha, e cada char digitado, ocupar um espaço do vetor, por exemplo... o usuário digita: abcdefghij entao :

 

vetor[0]=a

vetor[0]=b

vetor[0]=c

vetor[0]=d

vetor[0]=e

vetor[0]=f

vetor[0]=g

vetor[0]=h

vetor[0]=i

vetor[0]=j

 

 

como faço isso em uma linha, pegando cada char e implementando em cada casa do vetor ?

 

o código é assim...

 

System.out.print("Digite a String somente com vogais e sem espaço <enter>:"); // aqui vai oque o usuario vai digitar, tudo junto e sem espaço...

 

dae tenho que pegar o que ele digitou, por exemplo abc, e pegar cada char e colocar em uma casa do vetor... como faço isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo as posições :

 

vetor[0]=a

vetor[1]=b

vetor[2]=c

vetor[3]=d

vetor[4]=e

vetor[5]=f

vetor[6]=g

vetor[7]=h

vetor[8]=i

vetor[9]=j

 

E ae ? Ninguém pra me dar uma força ? :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

GeanT, você necessita especificamente de um vetor de Strings? Como você vai armazenar apenas um carácter por posição do vetor, o recomendável seria usar um vector de char.

 

Uma solução rápida seria a seguinte:

 

Scanner sc = new Scanner(System.in);
String input;
System.out.println("Digite a String somente com vogais e sem espaço <enter>:");
input = sc.next();
char vector[] = input.toCharArray();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok! Funcionou... Obrigado mesmo, me ajudou muito!

 

Mas... você poderia me explicar como funcionam esses comandos e etc...

Sou aluno de primeiro semestre em engenharia de software e acabei de começar em java, nem tinha conhecimento desses comandos, o que eu sei é laços for, matrizes, lidar com inteiros, sabia só fazer vetor de inteiros, de strings nunca tinha feito...

 

Tipo, queria saber como faço o vetor de char ser limitado até 10 espaços somente, e para cada espaço poder atribuir um valor inteiro... pra depois, como resposta final, ele somar todos os valores de cada char digitado... ex:

 

usuário digita: aaeieeouoe

 

digite o peso de a:0

digite o peso de e:1

digite o peso de i:2

digite o peso de o:3

digite o peso de u:4

 

peso total da string : peso(a)+peso(a)+peso(e)+peso(i)+peso(e)+peso(e)+peso(o)+peso(u)+peso(o)+peso(e)=

0 + 0 + 1 + 2 + 1 + 1 + 3 + 4 + 3 + 1 = 16

 

 

E ai Itamar ? Pode me salvar de novo ? kkk :grin: :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua segunda dúvida você pode resolver usando hash.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que você é iniciante, esquece o hash. Tenta criar duas matrizes unidimensionais para armazenar as letras e depois os inteiros. Seguindo a implementação que o Itamar sugeriu e você provavelmente seguiu teríamos algo como:

 

int[] valores = new int[vector.length];
int soma = 0;
for (int i = 0; i < vector.length; i++) {
 System.out.println("Digite o peso de " + vector[i]);
 input = sc.next();
 valores[i] = Integer.parseInt(input);

 soma += valores[i];
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado mesmo caras, mas de novo vou pedir demais kkk

Fiquei com algumas dúvidas no código, já que nao conhecia alguns comandos, entao comentei e gostaria de pedir que me corrigissem caso eu esteja errado!

 

public static void main (String args[]){

 

 

String s[] = new String[10];

 

int i;

 

Scanner sc = new Scanner(System.in);

 

String input;

System.out.print("Digite a String somente com vogais e sem espaço <enter>:");

input = sc.next(); //vai armazenar tudo o que o usuario digitar

char vector[] = input.toCharArray(); // o vetor de char vai pegar os dados do input e vai coloca-los um em cada espaço de si mesmo

 

int valores [] = new int[vector.length];

int soma = 0;

 

for (i = 0; i < vector.length; i++) {

System.out.println("Digite o peso de " + vector+":");

input = sc.next(); //vai armazenar tudo o que o usuario digitar

valores = Integer.parseInt(input); // como o input é uma string, e o usuario armazena nele valores inteiros essa expressão transforma o input em inteiro

 

soma += valores;

}

System.out.println("Valor total da String: "+soma);

 

}

}

 

 

E mais uma coisa... kkk

Como eu faço pra restringir o vetor de char, para ele armazenar somente 10 espaços ?

e tbm... como comparar coisas com os dois vetores, o vetor de char e o de valores ? pq quero restringir, o de char a apenas aceitar vogais, e o de valores apenas numeros inteiros...

 

 

Sei que estou pedindo até demais, mais alguém ai pode me ajudar ?

Please ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E mais uma coisa... kkk

Como eu faço pra restringir o vetor de char, para ele armazenar somente 10 espaços ?

e tbm... como comparar coisas com os dois vetores, o vetor de char e o de valores ? pq quero restringir, o de char a apenas aceitar vogais, e o de valores apenas numeros inteiros...

 

Você define o tamanho de uma matriz no momento da sua criação. Exemplo:

char[] dados = new char[10];

Só que no seu código você está transformando uma String numa matriz de char. Dessa forma o índice da sua matriz é o tamanho da sua String. Para fazer a restrição que desejas você teria que verificar o tamanho da String logo após o usuário escrevê-la.

input = sc.next();
if (input.length() > 10) {
 System.out.println("Deve ser informado no máximo dez caracteres.");
}

Você poderia colocar isso num loop para que obrigasse o usuário a escrever o valor enquanto não fosse menor ou igual a 10.

 

Para cada posição da matriz você teria que verificar se o valor é uma vogal.

if (vector[i] != 'a' && vector[i] != 'e' ...) {
 ...
?

Quando a validação de inteiro, você só conseguirá inserir na matriz de inteiros números inteiros. Se tentar inserir algo diferente, receberá uma exceção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiquei desligado da internet nesses dias... mas agr vi tudo isso aqui e só tenho a agradecer! Muito obrigado mesmo... vou tentar seguir por conta própria agora, tenho muito código ainda pra desenvolver mas qualquer coisa peço socorro aqui de novo kkkk

Obrigado mesmo pela força!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.