Não ta somando, apenas multiplicado, por favor ajunda

6 respostas
E
package teste;

import java.util.Locale;

import java.util.Scanner;

public class valores {
public static void main(String[] args) {
Locale.setDefault(Locale.US);
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
double soma = a+b;
double mult = (a*b);
if(a+b == soma) {
System.out.println(soma);
} else {
if(a*b != mult) {
System.out.println(mult);
}
}
}

}

6 Respostas

I

1 - Nomes de classes, por padrão, são grafadas com a primeira letra em maiúsculo e deve-se evitar o uso de plural;
2 - Seu código tem qual propósito? É claro que a + b = soma, logo, nunca será falso, já que tu atribuiu a soma justamente o resultado da operação a + b (eu copiei o seu código e executei, está somando sim). Com efeito, a * b != mult nunca será executado. Além disso, a * b nunca será diferente de mult, porquemult recebe o valor da operação a * b.
Diante disso, eu fiquei realmente intrigado em saber o que tu pretende com esse código.

E

Faça um algoritmo que leia dois valores inteiros A e B se os valores forem iguais deverá se
somar os dois, caso contrário multiplique A por B. Ao final de qualquer um dos cálculos deve-se
atribuir o resultado para uma variável C e mostrar seu conteúdo na tela.

W

double c;

A e B se os valores forem iguais:

<strong>> Vc faz assim:</strong>

<strong>>  if(a==b){</strong>

<strong>>    c = a+b;</strong>

<strong>> }</strong>

<strong>System.out.println("SOMA: " + c);</strong>
A e B se os valores forem diferentes:

<strong>> Vc faz assim:</strong>

<strong>> if(a!=b){</strong>

<strong>> c= a*b;</strong>

<strong>> }</strong>

<strong>System.out.println("MULT: " + c);</strong>

Espero ter ajudado.

E

Encontrar o dobro de um número caso ele seja positivo e o seu triplo caso seja negativo,
imprimindo o resultado.

Está certo? Esta Certo?

package teste;

import java.util.Locale;

import java.util.Scanner;

public class valores {
public static void main(String[] args) {
Locale.setDefault(Locale.US);
Scanner input = new Scanner(System.in);
double a = input.nextDouble();
double b= 2;
double c = 3;
double tripo = a*c;
double mult = a*b;
if(mult>0) {
	System.out.println(" positivo " + mult);
   }else {
	if(tripo<0) {
	System.out.println(" Negativo " + tripo);
	input.close();
	}
}
      }

}

P

Funciona mas pode ser melhorado.

Porque calcular sempre o dobro e o triplo se só vais apresentar um deles?
Porque é que comparas mult e triplo com 0 em vez de comparar o próprio numero “a”? Vais concluir que podes tirar um if.
Porque é que o input só é closed se for um triplo?

W
double a = input.nextDouble();
double b = 1;
double mult = a*b;

// se for positivo - Encontrar o dobro
if(mult>0){
     double positivo = a + b;
     System.out.println("Positivo: " + positivo);
}

// se for negativo - Encontrar o triplo
else if(mult<0){
     double negativo = a * b;
     System.out.println("Negativo: " + negativo);
}

Espero ter ajudado.

Criado 6 de maio de 2020
Ultima resposta 9 de mai. de 2020
Respostas 6
Participantes 4