Preciso saber se é possivel inserir mutiplos valores a uma variavel.
Pois quando crio uma string ela tem um valor null, como adicionar um valor inteiro a variável?
Quero adicionar a uma variável um valor String e Inteiro. :!: (String Int a) :!: :?: :?: :?:
Você não pode usar a estrutura que você sugeriu ali (String int a).
A classe String extende de Object, que é a super classe de qualquer objeto em Java. Já o int é um tipo primitivo, mas pode ser encapsulado pela classe Integer, (e funciona igual para Float, Double…).
Para guardar numa mesma variável ora valores do tipo String e ora valores do tipo inteiro, você pode criar uma variável do tipo de Object.
Object obj = "texto";
// ...
obj = new Integer(1);
Acabei com outro problema! Agora como implemento um valor char a um Object?
[code]
import java.lang.*;
import javax.swing.JOptionPane;
public class RevisNome{
public static void main(String[]arg){
String Nome = JOptionPane.showInputDialog(null,“Insira o nome completo:”) , pnome,x;
Object ch[]= new String[21];
for (int i=0;i<=20;i++){
if(ch[i]==" ") ch[i]=new Integer(1);
ch[i]=Nome.charAt(i)+"";
System.out.println(i+" "+ch[i]);
if (ch[i]==null){
}
else{
pnome=Nome.substring(0,i+1);
System.out.println("primeiro nome: "+pnome);
}
}
System.out.println(ch[2]);
}
}[/code]
Ainda tem um problema; o objetivo era imprimir o primeiro nome.
Você está utilizando qual versão do Java, a 5.0?
Bem, para atribuir um char para um Object, você usa a classe que encapsula chars, que é a java.lang.Character; é a mesma idéia do exemplo do int…
Object o = new Character('a');
No 6.0 esse encapsulamento não precisa ser feito de forma explícita, sendo assim o código
Object o = 'a';
funciona.
A intenção desse método ali é imprimir apenas o primeiro nome da pessoa então?
Se a entrada for João da Silva, você quer imprimir apenas “João”?
era a intenção
o problema é nessa linha:
//o valor do q falo é um vetor Object que ja possui uma String, e Integer dependemdo do caso
if(ch[i]==" ") ch[i]=new Integer(1);
ch[i]=Nome.charAt(i);
Certo, mas não entendi porque isso gerou a necessidade de ter uma variável que pudesse receber String e int…
Dê uma olhada nos métodos de manipulação de texto que a própria classe String fornece. Você pode resolver isso com poucas linhas de código utilizando um desses métodos.
Sugiro que use o split, dê uma lida na documentação e qualquer dúvida poste aqui.
Pedi para meu prof me ajudar mais ele disse para tentar, então:
raciocinei que, se eu transformo um dos vetores " " em numerico e quando o valor não for nulo imprimo, sai oq veio antes do " "(espaço).
Se souber de algum e-book com vários recursos me ajuda.
Bem, acredito que seu professor queira que então ao invés de usar o método que eu comentei, implementem a lógica disso…
Veja esse código:
public static void main(String[] arg) {
String nome = JOptionPane.showInputDialog(null, "Insira o nome completo:");
String primeiroNome = "";
for(int i = 0; i < nome.length(); i++){
if(nome.charAt(i) == ' '){
System.out.println("Primeiro nome: " + primeiroNome);
break;
} else {
primeiroNome += nome.charAt(i);
}
}
}
Uau vc é crack em! Vlw msm.
Mais da pra explicar qual foi seu raciocínio?
Ja entendi!
agora sim vlw mesmo, ele jaz o texte letra por letra e imprimequando chega o espaço.
Maneira mais elegante, sem a necessidade de usar break:
String primeiroNome = "";
int i = 0;
while (nome.charAt(i) != ' ' && i <nome.length()){
primeiroNome += nome.charAt(i);
i++;
}
//imprime aqui
>
muito bom essa é uma maneira bem mais simples e leve!
JavaGuru é uma das classificações?
[quote=DavidUser]
JavaGuru é uma das classificações?[/quote]
Sim, sua classificação aqui no fórum vai mudando de acordo com o número de mensagens que você enviar.