import javax.swing.JOptionPane;
public class profissao {
/**
* @param args
*/
public static void main(String[] args) {
int cont=0;
for(int i=1;i<=3;i++){
String prof=JOptionPane.showInputDialog("Digite a profissão");
if(prof.equals("DENTISTA") && prof.equals("dentista") && prof.equals("Dentista")){
cont++;
}
}
JOptionPane.showMessageDialog(null, "A qtde de dentistas é "+cont);
}
}
dúvida para contar uma string
4 Respostas
Bom pra começar vc tem que usar OU no lugar de E no IF. Porque se apenas 1 das validações foram corretas, o cont deve ser incrementado.
O operador "&&" significa "e". O que você está fazendo é que, na condição que a string seja igual a "DENTISTA", "Dentista" e "dentista", cont receba +1. O fato é: a string só vai vir com um valor. Ela não pode ser os três valores que você tá comparando ao mesmo tempo.
Para compará-la a estes três valores, use o operador "||", que significa "ou".
import javax.swing.JOptionPane;
public class profissao {
/**
* @param args
*/
public static void main(String[] args) {
int cont=0;
for(int i=1;i<=3;i++){
String prof=JOptionPane.showInputDialog("Digite a profissão");
if(prof.equals("DENTISTA") || prof.equals("dentista") || prof.equals("Dentista")){
cont++;
}
}
JOptionPane.showMessageDialog(null, "A qtde de dentistas é "+cont);
}
}
No código acima, iria comparar-se a string com "DENTISTA", "dentista" e "Dentista", e se fosse igual a qualquer um desses valores, iria adicionar 1 a mais a "cont".
PORÉM, pra facilitar as nossas vidas, o Java tem o método equalsIgnoreCase. Basicamente, não vai importar se o usuário vai colocar "Dentista", "DENTISTA", "DeNTiStA" ou qualquer coisa que você vá imagina: Ele vai ignorar se está em maiúsculo ou minúsculo. Logo, o seu código ficaria assim:
import javax.swing.JOptionPane;
public class profissao {
/**
* @param args
*/
public static void main(String[] args) {
int cont=0;
for(int i=1;i<=3;i++){
String prof=JOptionPane.showInputDialog("Digite a profissão");
if(prof.equalsIgnoreCase("Dentista")){
cont++;
}
}
JOptionPane.showMessageDialog(null, "A qtde de dentistas é "+cont);
}
}
O código acima vai comparar a string dada com "Dentista", mas não vai se preocupar com letras em maiúsculo ou minúsculo, então se a profissão dada pelo usuário for Dentista, ele vai adicionar +1 a cont :)
Qualquer dúvida, pode perguntas. Se a dúvida for respondida, edita o título do tópico para "[RESOLVIDO]" :)
Estou com uma dúvida nesse código. Não consigo contar a profissão dentista. Alguém pode me ajudar.ola! repare que no seu código você fez assim:import javax.swing.JOptionPane; public class profissao { /** * @param args */ public static void main(String[] args) { int cont=0; for(int i=1;i<=3;i++){ String prof=JOptionPane.showInputDialog("Digite a profissão"); if(prof.equals("DENTISTA") && prof.equals("dentista") && prof.equals("Dentista")){ cont++; } } JOptionPane.showMessageDialog(null, "A qtde de dentistas é "+cont); } }
if(prof.equals("DENTISTA") && prof.equals("dentista") && prof.equals("Dentista"))
if(prof.equalsIgnoreCase("dentista")) // usei o método equalsIgnoreCase()
// esse método não faz a distinção entre Maiusculas(UpperCase)
// e minusculas(lowerCase) tanto "DENTISTA" ou "dentista" serão aceites
ao usar uma classe recomendo que fique sempre com a documentação(API) aberta, pois oferece informações adicionais úteis.
Resolvido.Valeu…