Qual o problema deste código?

3 respostas
P

Sou iniciante em Java e estou encontrando alguma dificuldade em fazer este código que me foi pedido no colégio.

Alguém sabe me dizer o que que tem de errado neste código ai...

[color=blue]
import javax.swing.JOptionPane;

public class Exe4 {
	
	public static void main(String args[]){
		String strNum=JOptionPane.showInputDialog(null,"Escreva que horas são:","0");
		
		
	if(strNum >=6){
		JOptionPane.showMessageDialog(null,"Bom Dia");		
	}
		else if(strNum >=12){
		JOptionPane.showMessageDialog(null,"Boa Tarde");
	}
	
			else if(strNum >=18){
		JOptionPane.showMessageDialog(null,"Boa Noite");
	}
				else if(strNum >=24){
		JOptionPane.showMessageDialog(null,"Boa noite");
	}
					else{
		JOptionPane.showMessageDialog(null,"Número inválido.");
	}
	
	
	System.exit(0);
	
	}
}[/color]

3 Respostas

R

primeiro voce esta tentando comparar uma String com um int
qnd faz os if e voce colocou algo que restringe muito pouco pois se colocar uma hora tipo hh:mm ele dara erro bom ja que o programa é simples nao vem ao caso

tente entao primeiro passar a String para int e depois corrigir os if dei uma modificda ai ve c funciona isso pode quebrar um galho pra voce ai corrige o resto pra fica melhor abracos

public class Exe4 {
   
   public static void main(String args[]){
      String strNum1 = JOptionPane.showInputDialog(null,"Escreva que horas são:","0");
      int strNum = Integer.parseInt(strNum1);
      
   if(strNum < 6){
      JOptionPane.showMessageDialog(null,"Boa Noite");  
      
   }
   else if(strNum < 12){
	      JOptionPane.showMessageDialog(null,"Bom Dia");
	   }
      else if(strNum < 18){
      JOptionPane.showMessageDialog(null,"Boa Tarde");
   }
   
         else if(strNum < 24){
      JOptionPane.showMessageDialog(null,"Boa Noite");
   }
         
               else{
      JOptionPane.showMessageDialog(null,"Número inválido.");
   }
   
   
   System.exit(0);
   
   }
}

[color="red"]*Editado por jairelton: lembre-se de usar BBCode nas suas mensagens[/color]

_
Este problema você resolve fazendo isso:
public static void main(String args[]){ 
      String strNum = JOptionPane.showInputDialog("Escreva que horas são:","0");
      int num = Integer.parseInt(strNum);
       
       
   if(num >=6 ){    .....

é melhor refazer a estrutura de teste, você pode usar os operadores && e || no seu código.

P

Muito obrigado mesmo…
parece até óbvio o código agora. To começando agora em Java e preciso mesmo desta ajuda…

Valeu

Criado 7 de agosto de 2006
Ultima resposta 7 de ago. de 2006
Respostas 3
Participantes 3