Lógica Programação - Como descubrir se um número é postivo ou negativo?

Gente, por favor vejam este código:

[code] public static void main(String[] args) {

        Integer variavel = 1;
        
        Integer recebe = variavel + 1;           
        
        if (recebe > variavel){
              System.out.println("número positivo");
        }
        else{
              System.out.println("número negativo");
        }
  }[/code]

A minha lógica para descubrir se um número é positivo ou negativo não tem nada a ver ou faltou algum pequeno detalhe para funcionar? Já de descubrí que posso usar ex: x>=0 ou x>=-1 é positivo mas cismei com a minha lógicainha…

Um número é positivo se ele for maior que zero.

Um número é negativo se ele for menor que zero.

E ponto final.

Digamos que x seja um número inteiro (menor que 2147483647).

Se você somar 1 a esse número, não importa se ele for negativo ou positivo, então x + 1 sempre será maior que x.

No caso especial em que o número é 2147483647, se somarmos 1 haverá um “overflow” que resultará em -2147483648, e somente nesse caso é que x + 1 será menor que x.
O seu código também não funciona para o caso 2147483647 - ele diz que é negativo, mas o número é positivo.
Ele não consegue detectar nenhum número negativo (de verdade).

sua lógica ficou assim:

defina x;
defina y = x + 1;
se y maior que x então x positivo;

mas analisando a proposição y = x + 1 vemos que y sempre será maior que x, mesmo que x seja negativo, exemplo:

x = -3;
y = x + 1 = -3 + 1 = -2;
y maior que x, pois -2 é maior que -3, porém como vemos o número não é positivo.

Sua logica esta errada no ponto que vc afirma que todo
numero + 1 é positivo.
Isto esta errado pois -5 + 1 não e positivo entra no if vc teria que se resguardar com outros if , por isto e mais facil comparar com 0.

o único jeito de saber se é positivo ou não é fazendo “x < 0” e “x >= 0” mesmo

public static void main(String[] args) { Integer numero; if (numero >0){ System.out.println("número positivo"); } else{ System.out.println("número negativo"); } }

o certo é assim

[code]public static void main(String[] args) {
Integer numero = 0;
if (numero >=0){
System.out.println(“número positivo”);
}
else{
System.out.println(“número negativo”);
}

}[/code]

o Alexandre.ra colocou numero > 0 mas tem q ser >= 0
:wink:
8) :stuck_out_tongue: :-o

[quote=vitoryudi]o certo é assim

[code]public static void main(String[] args) {
Integer numero = 0;
if (numero >=0){
System.out.println(“número positivo”);
}
else{
System.out.println(“número negativo”);
}

}[/code]

o Alexandre.ra colocou numero > 0 mas tem q ser >= 0
:wink:
8) :stuck_out_tongue: :-o[/quote]

No tempo que eu estudava matematica minha professora dizia que o zero não é nem negativo nem positivo

[quote=Carlos_ds_jar]
No tempo que eu estudava matematica minha professora dizia que o zero não é nem negativo nem positivo[/quote]

A mesma coisa digo eu.

Ou agora é positivo ficar no zero-a-zero?

do modo mais simples

public static void main(String[] args) {       
         Integer numero = 0;       
         if (numero > 0){       
         System.out.println("número positivo");       
         } else if (numero < 0 {       
         System.out.println("número negativo");       
         } else {
         System.out.println("O NUMERO É ZERO");  


           
}  

[quote=aajjbb]do modo mais simples

[code]
public static void main(String[] args) {
Integer numero = 0;
if (numero > 0){
System.out.println(“número positivo”);
} else if (numero < 0 {
System.out.println(“número negativo”);
} else {
System.out.println(“O NUMERO É ZERO”);

}
[/code][/quote]
Elementar 8)

Opaaa, com certeza precisa colocar uma apenas para o 0

:wink:

Intuitivamente, um número real n é positivo se é maior que 0.

Às vezes diz-se que n é positivo quando é maior ou igual que 0, para introduzir o termo de “estritamente positivo”, que excluiria o caso “n igual a 0”.

Se considerar-se que n é positivo se é maior que 0, então inclui-se o caso “n igual a 0” dizendo que n é não negativo.

http://pt.wikipedia.org/wiki/N%C3%BAmero_positivo

[quote=vitoryudi]Opaaa, com certeza precisa colocar uma apenas para o 0

:wink:

Intuitivamente, um número real n é positivo se é maior que 0.

Às vezes diz-se que n é positivo quando é maior ou igual que 0, para introduzir o termo de “estritamente positivo”, que excluiria o caso “n igual a 0”.

Se considerar-se que n é positivo se é maior que 0, então inclui-se o caso “n igual a 0” dizendo que n é não negativo.

http://pt.wikipedia.org/wiki/N%C3%BAmero_positivo

[/quote]
Cavalheiro infelismente sua enciclopédia está ambígua, pois nela diz tambem que:

em: http://pt.wikipedia.org/wiki/Positivo

O ideal para esse caso seria um especialista em logica matemática para tirar nossa duvida de uma vez por todas.

Bom, primeiro que ninguem vai ter dúvida se o número é negativo ou não.
Segundo, ninguem vai colocar zero. rsrs

Estranho que existem equações matemáticas onde o zero é importante como: -0j +i

Anyway. É isso ai.

Cavalheiro infeliZmente

mas, tudo bem, também considero o 0 como neutro!
:smiley:

:lol: Acho que estou dormindo pouco

Zero é mesmo considerado um número neutro, e par. Ele pode ser tratado tanto como positivo, quanto como negativo.
A wiki americana tem uma definição mais precisa: http://en.wikipedia.org/wiki/Negative_and_non-negative_numbers

Bate exatamente com a que tive quando estudei na faculdade de Matemática.