Fórum Ajuda Soma em java com varios numeros. #567490
30/04/2012
0
Rudson Porfirio
Curtir tópico
+ 0Posts
30/04/2012
Joao Silva
import javax.swing.JOptionPane;
public class buton {
public static void main(String args[]){
double end = -1;
double soma =0;
while(end!=0){
double num = Double.parseDouble(JOptionPane.showInputDialog(null,
"insira um valor ou digite 0 para finalizar a soma")); // entrada de dos numero
end = num;
soma = soma+num;
}
JOptionPane.showMessageDialog(null, " O resultado e "
+ soma); //saida ja com a soma.
}}
Gostei + 0
01/05/2012
Rudson Porfirio
Gostei + 0
01/05/2012
Murillo Beltrame
public class SomasNumeros {
public static void main(String[] args) {
int i = 0, valor = 0;
double soma = 0;
while(i == 0){
valor++;
double aux = Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o valor "+valor));
soma = soma + aux;
i = JOptionPane.showConfirmDialog(null, "Deseja continuar somando?");
if(i == 1){
JOptionPane.showMessageDialog(null, "O resultado é "+soma);
}
}
}
}Gostei + 0
01/05/2012
Murillo Beltrame
public class SomasNumeros {
public static void main(String[] args) {
int i = 0, valor = Integer.parseInt(JOptionPane.showInputDialog(null, "Quantos valores deseja informar?"));
double soma = 0;
while(i != valor){
i++;
double aux = Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o valor "+i));
soma = soma + aux;
if(i == valor){
JOptionPane.showMessageDialog(null, "O resultado é "+soma);
}
}
}
}Gostei + 0
01/05/2012
Rudson Porfirio
Gostei + 0
02/05/2012
Murillo Beltrame
public class SomasNumeros {
public static void main(String[] args) {
int i = 0, valor = Integer.parseInt(JOptionPane.showInputDialog(null, "Quantos valores deseja informar?")); // aqui nessa linha ele pergunta pro usuário quantos numeros ele deseja somar e armazena em uma variavel
double soma = 0; //variavel que armazena a soma de todos os numeros
while(i != valor){ //enquanto a variavel i for menor que a quantidade de vezes ele quer somar
i++; //soma +1 na variavel i pra contar que ele ja somou mais uma vez
double aux = Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o valor "+i)); //armazena o valor digitado em uma variavel auxiliar
soma = soma + aux; // soma vai ser igual a ela mesma mais o valor auxiliar
if(i == valor){ //se for a ultima execução do while ele mostra o resultado
JOptionPane.showMessageDialog(null, "O resultado é "+soma); //exibi o resultado
}
}
}
}
Gostei + 0
02/05/2012
Leonardo Silva
import javax.swing.JOptionPane;
public class Teste {
// Método para não escrever novamente o catch.
public static void erro(String aux){
if(aux.isEmpty()){ // Se o usuário não digitar, será um campo em branco;
JOptionPane.showMessageDialog(null, "Campo em branco, digite novamente!", "Atenção!", JOptionPane.WARNING_MESSAGE);
}else{// Por estar dentro de um catch, se não for um campo vazio, será um caractere inválido;
JOptionPane.showMessageDialog(null, "Insira somente caracteres válidos!", "Atenção!", JOptionPane.WARNING_MESSAGE);
}
}
public static void main(String[] args) {
// Início das variáveis.
String aux = null; // Variável auxiliar para testar erros;
boolean t1; // Booleano para testar os erros;
long qtde; // Quantidade de números digitados;
double num, res; // num -> Número atual que o usuário digitou, res -> Resultado;
int pergf; // Pergunta final, se o usuário quer fazer uma nova operação.
// Final das variáveis.
// Começo do loop, para que na última pergunta, o usuário decide se faz ou não uma nova operação;
do{
// Iniciando as váriaveis
qtde = 0;
res = 0;
// Até aqui
/* Começo do loop para testar que o usuário deve digitar um número maior ou
* igual a 2, para fazer a soma corretamente.
*/
do{
// t1 é um booleano, vai inializar com falso, pois ainda não foi testada ou ainda não está correto o número digitado;
t1 = false;
// Fazemos um while, pois se o t1 for mudado para true, ele para subitamente.
while(!t1){
try{
aux = JOptionPane.showInputDialog(null, "Quantos números você deseja somar?", "Pergunta!", JOptionPane.QUESTION_MESSAGE);
// Se aux for null, que é a mesma coisa que cancelar ou clicar no botão X, sai do programa.
if(aux == null){
System.exit(0);
}
/* Usamos uma String, aux no caso, para testarmos se o usuário clicou em cancelar ou no botão X
* Usamos agora a variável qtde e passamos para um Long, caso tenha algum erro, não executará
* o t1 = true, então não irá sair do loop, e irá até o catch, que é a estrutura para tratamento
* de erros, se não tiver nenhum erro, ele sai do loop.
*/
qtde = Long.parseLong(aux);
t1 = true;
}catch(NumberFormatException Erro){
// Chama o método erro, para testar os tipos de erro.
erro(aux);
}
}
// Mostra uma mensagem caso o usuário não tenha digitado um número maior ou igual a 2.
if(qtde <= 1){
JOptionPane.showMessageDialog(null, "Insira uma quantidade de números superior a 2!", "Atenção!", JOptionPane.WARNING_MESSAGE);
}
}while(qtde <= 1);
// Final do loop de teste, para o usuário digitar um número maior ou igual a 2.
// Utiliza a variável qtde para definir quantos vezes vamos repetir a mensagem.
for(long x = 1; x <= qtde; x++){
// Segue as mesmas mensagens citadas acima.
t1 = false;
while(!t1){
try{
aux = JOptionPane.showInputDialog(null, "Digite o " + x + "º de " + qtde + " números:", "Pergunta!", JOptionPane.QUESTION_MESSAGE);
if(aux == null){
System.exit(0);
}
/* Usamos aux.replace, para trocar a (,) por (.), pois se o usuário digitar (,) irá ocorrer
* um erro na alocação variável.
*/
num = Double.parseDouble(aux.replace(",", "."));
/* Utilizamos a variável res para receber o valor do resultado,
* res += num é a mesma coisa que res = res + num.
*/
res += num;
t1 = true;
}catch(NumberFormatException Erro){
erro(aux);
}
}
}
// Imprime resultado.
JOptionPane.showMessageDialog(null, "Resultado da soma: " + res);
// pergf é a variável que vai receber a resposta se o usuário deseja somar novamente.
pergf = JOptionPane.showConfirmDialog(null, "Deseja somar novamente?", "Selecione uma opção!", JOptionPane.YES_NO_OPTION);
}while(pergf == JOptionPane.YES_OPTION);
// Final do loop, se o usuário digitar em sim, ele fará tudo novamente, caso não seja sim, finalizará o programa.
}
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)