Ajuda Soma em java com varios numeros.
30/04/2012
0
Rudson Porfirio
Posts
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. }}
01/05/2012
Rudson Porfirio
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); } } } }
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); } } } }
01/05/2012
Rudson Porfirio
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 } } } }
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. } }
Clique aqui para fazer login e interagir na Comunidade :)