Somar variavel

E ai galera , blz?

sou novato em java, estou estudando umas coisas aqui…gostaria de saber como eu faço pra somar varias variaveis ?

por exemplo eu fiz um programinha e preciso somar varias variaveis mas como eu faço isso sem digitar todas as variaveis ? tipo metodo de excel “soma(b1:b50)”

muito obrigado desde já…
[b]

como assim??? você tem que explicar melhor…porq se for só pra somar por exemplo duas variáveis é fácil.

int var1, var2; var1= Integer.parseInt(JOptionPane.showInputDialog("Digite a primeira variável")); var2= Integer.parseInt(JOptionPane.showInputDialog("Digite a segunda variável")); JOptionPane.showMessageDialog(null," A soma é: "+(var1+var2));

ou entao voce faz uma funcao, e aí chama quando vc quiser somar. :slight_smile:

to ligado, não é isso que vc explico não…esse é metodo normal…

imagine q eu tenho q fazer oq vc fez ae mas com 30 variaveis…em vez de fazer tudo 30 vezes e ir colocando var1+var2+var2…var30; eu quero saber se existe algum metodo pra fazer isso mais rapido?

Veja se isso vai te ajudar:

import javax.swing.JOptionPane;

public class SomaVariaveis {

	public static void main (String[] args) {
	
		double var[] = new double[30];
		double soma = 0;
		
		for(int x=0; x<=29; x++){
			
			var[x] =Double.parseDouble( JOptionPane.showInputDialog("Digite o valor " + (x+1) ) );
			soma  += var[x]; 
			
		}
		
		JOptionPane.showMessageDialog( null,"Total: " + soma);
	
	}    
    
}

muito obrigado pela ajuda cara…

mas o problema é que as variaveis são diferentes…

pois estou fazendo em formulario jframe e tem varios campos sendo digitados e preciso somar todos pra calcular uma média aqui…

eu consigo somar todos pelo metodo normal…var1+var2…; mas eu quero saber se tem algum metodo mais facil?!

Olá luiswellington,

Se eu entendi bem, você quer evitar criar várias variáveis, então vai lá:

import java.util.Vector;
import javax.swing.JOptionPane;

public class Soma {
    // variável para guardar tantos valores quanto forem necessários
	private static Vector<Integer> valores = new Vector<Integer>();
	private static int sair = 0;
	
	public static void main(String[] args) {
		do {
			 sair = Integer.parseInt(JOptionPane.showInputDialog("Digite um número para somar ou zero para sair."));
			 valores.add(sair);
		} while (sair > 0);
		System.out.println("A soma dos valores é: " + somar(valores));
	}
	
	public static Integer somar(Vector<Integer> valores) {
		Integer soma = 0;
		for (Integer i : valores) {
			soma += i;
		}
		return soma;
	}
}

É mais ou menos isso que você precisa?

luiswellington,

Depois que enviei a mensagem, reparei que você informou exatamente a fonte dos valores a somar.
Como você montou a estrutura com caixa de texto, não tem como evitar a soma 1 a 1 (var1+var2+…+var30), não existe método pronto semelhante ao Excel (SOMA(A1:A30)).
Se for possível trocar as caixas de texto por uma tabela, fica mais fácil adaptar ao código que o Henrique ou eu enviamos.
Para isto você precisaria colocar um “looping” na coluna da tabela que tem os valores e ir resgatando os valores a cada linha tem o valor.

Me fiz entender?

muito obrigado pela ajuda pessoal…

eu gostaria de saber se não tem como eu realmente somar todos como um unico metodo, pois eu tinha feito variavel por variavel, convertendo pra int e somando-as.

como não tem mesmo o jeito, já tirei minha duvida…muito obrigado

aproveitando a oportunidade eu gostaria de tirar uma outra duvida…eu tenho 31 campos de texto pra digitar quantidades mas o problema é que nem sempre eu vou digitar as 31 vezes…e para calcular a media no final eu preciso dividir a soma de todos os dias(os 31 campos) pela quantidade de dias que foi preenchida no formulario…mas qdo eu deixo um espaço em branco o programa dá erro, pois eu tenho que preencher todos os campos e depois eu preciso saber quantos campos foi preenchido pra fazer a media no final…como eu poderia fazer isso?


resumindo:

Como eu faço pra ter 31 campos e não preencher os 31 necessariamente…e depois no final de tudo eu saber quantos campos eu usei pra dividir por essa quantidade ?

por exemplo…eu tenho 31 campos e digitei apenas em 2 campos a quantia de 50…no final ele tem q somar 50+50 e dividir por 2.

acho que ficou meio confuso, mas se puderem ajudar…agradeço desde já!