Problema na execução! [RESOLVIDO]

1. Problema na execução! [RESOLVIDO]

Thomas Weverton dos Santos Moura
twsm

(usa Ubuntu)

Enviado em 17/06/2015 - 22:01h

Boa noite estou com um problema... comecei a aprender a programar em java essa semana (já venho programando em c na universidade 1º semestre), resolvi fazer trazer todos os exercicios que fiz para o java. O problema é utilizando "char" ou "strings", fiz de dois modos mas não executa... não sei se o problema está no scan da váriavel "sexo", creio que seja algo simples... ficarei grato por um explicação e tbm como utilizar "char" em java!!! (Utilizando a IDE Eclipse)

com Strings

package _2_atividadade_para_nota;

import java.util.Scanner;

public class EXEMPLO {

private static Scanner in;

public static void main(String[] args) {

/*Faça um programa em java para
descobrir se o sexo da pessoa é masculino ou feminino.*/

in = new Scanner(System.in);

String sexo;

System.out.printf("Informe o seu ((F)Feminino ou (M)Masculino): ");
sexo = in.next();

if(sexo == "f" || sexo == "F"){
System.out.println("O sexo é feminino!");
}
if(sexo == "m" || sexo == "M"){
System.out.println("O sexo é masculino!");
}
}
}



com Char

package _2_atividadade_para_nota;

import java.util.Scanner;

public class EXEMPLO {

private static Scanner in;

public static void main(String[] args) {

/*Faça um programa em java para
descobrir se o sexo da pessoa é masculino ou feminino.*/

in = new Scanner(System.in);

char sexo;

System.out.printf("Informe o seu ((F)Feminino ou (M)Masculino): ");
sexo = in.next();

if (sexo == 'f' || sexo == 'F'){
System.out.println("O sexo é feminino!");
}
if (sexo == 'm' || sexo == 'M'){
System.out.println("O sexo é masculino!");
}
}
}


  


2. MELHOR RESPOSTA

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 17/06/2015 - 22:15h

Faz tempo que não programo em Java, então se eu falar alguma bobagem, me desculpe.

Não me lembro se o operador == funciona com Strings em Java (creio que sim).

Mas se funciona ou não, me lembro que era arriscado fazer assim, então o correto seria fazer s.equals("f")

Segue o código de Teste:


import java.util.Scanner;

public class EXEMPLO{

public static void main (String args[]) {

Scanner leitor = new Scanner(System.in);

System.out.printf("Digite (F) ou (M): ");
String s;
s = leitor.nextLine();

if(s.equals("f") || s.equals("F")){
System.out.printf("Feminino!\n");
}else if(s.equals("m") || s.equals("M")){
System.out.printf("Masculino!\n");
}
}
}


Que me lembre, para Strings é usado o leitor.nextLine() e não existe para chars.

Espero ter ajudado

Se ajudei, marque o tópico como resolvido e clique em melhor resposta!

[]'s

T+

--
http://piadasnerds.com/wp-content/uploads/2011/08/grafico_souProgramador.png

3. Re: Problema na execução! [RESOLVIDO]

Thomas Weverton dos Santos Moura
twsm

(usa Ubuntu)

Enviado em 17/06/2015 - 22:50h

Thihup escreveu:

Faz tempo que não programo em Java, então se eu falar alguma bobagem, me desculpe.

Não me lembro se o operador == funciona com Strings em Java (creio que sim).

Mas se funciona ou não, me lembro que era arriscado fazer assim, então o correto seria fazer s.equals("f")

Segue o código de Teste:


import java.util.Scanner;

public class EXEMPLO{

public static void main (String args[]) {

Scanner leitor = new Scanner(System.in);

System.out.printf("Digite (F) ou (M): ");
String s;
s = leitor.nextLine();

if(s.equals("f") || s.equals("F")){
System.out.printf("Feminino!\n");
}else if(s.equals("m") || s.equals("M")){
System.out.printf("Masculino!\n");
}
}
}


Que me lembre, para Strings é usado o leitor.nextLine() e não existe para chars.

Espero ter ajudado

Se ajudei, marque o tópico como resolvido e clique em melhor resposta!

[]'s

T+

--
http://piadasnerds.com/wp-content/uploads/2011/08/grafico_souProgramador.png



Muito obrigado mesmo, ajudou a sanar a dúvida quanto a char, passar a usar Strings! .equals funcionou! Testei com o == mas não rodou, pra não falar besteira tbm, ou == não funciona ou se usa de outra maneira!

Abraços.




4. Re: Problema na execução! [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 17/06/2015 - 22:55h

De nada.

Estamos aqui para trocar conhecimentos, certo?

Bom, eu programo em C, e conheço bem os char *, mas em java é recomendavel utilizar o tipo String para não ter problemas.

Espero ter ajudado

[]'s

T+

--
http://piadasnerds.com/wp-content/uploads/2011/08/grafico_souProgramador.png






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts