Como calcular media em Java - NetBeans

38 respostas
A

Ola Caros. Entrei no mundo Java. Estou mais perdido que cebola na salada de fruta xD. Mas já estou lendo sempre que posso livros em Java.
No curso de Java que estou faz uma semana a "Fessora" ja mandou nós calcular. É um calculo simples mas que pra mim ainda que sou novato, leigo ta brabo a situação.
Ela pediu pra nós calcular a média de notas. "De a media de 4 notas" - é só isso. Pra alguns isso é moleza, mas pra mim a coisa é feia. Bom como disse lí alguns tutorias e fui me virando pra chegar em algum lugar, e até cheguei -> ErroR !! . Num Rodou xD
Entao me basiei eu alguns modelos de calculos e cheguei até aqui, mas não sei onde está o erro. Conta com a ajuda de Voces =D . Olha aí :

======================================================================

import javax.swing.JOptionPane;
public class Media1 {

        public static void main(String args[])  {

            int n1, n2, n3, n4, media;
            
            String msn1, msn2, msn3, msn4;

            msn1 = JOptionPane.showInputDialog("Entre com a primeira nota");
            msn2 = JOptionPane.showInputDialog("Entre com a segunda nota");
            msn3 = JOptionPane.showInputDialog("Entre com a terceira nota ");
            msn4 = JOptionPane.showInputDialog("Entre com a quarta nota");


            n1= Integer.parseInt(msn1);
            n2= Integer.parseInt(msn2);
            n3= Integer.parseInt(msn3);
            n4= Integer.parseInt(msn4);


            media =(n1 + n2 + n3 + n4) / 4;
            JOptionPane.showMessageDialog(null, "O Total " + media, ".", JOptionPane.PLAIN_MESSAGE);
            System.out.println("Total  =" + media);
            System.exit(0);
                    }
}
=========================================================================

E num tem Santo que faça rodar T_T

Eu uso o NetBeans IDE 6.7.1 Grato
Adnal

38 Respostas

A

up (Y) ’

T

Qual o erro ?

coloca codigo com tag

Codigo com tag code
G
import javax.swing.JOptionPane;

public class Main {
   public static void main(String args[]) {

    int n1, n2, n3, n4, media;

    //Converte sem a necessidade da variavel auxiliar de string
    n1 =Integer.parseInt(JOptionPane.showInputDialog("Entre com a primeira nota"));
    n2 =Integer.parseInt(JOptionPane.showInputDialog("Entre com a segunda nota"));
    n3 =Integer.parseInt(JOptionPane.showInputDialog("Entre com a terceira nota"));
    n4 =Integer.parseInt(JOptionPane.showInputDialog("Entre com a quarta nota"));

    media =(n1 + n2 + n3 + n4) / 4;
    JOptionPane.showMessageDialog(null, "O Total: " + media);

    System.exit(0);
    }
}

ta funcionando normalmente cara fiz algumas modificaçoes ai

lina

Oi,

Sua codificação não está com problemas. Pode ser sua IDE Netbeans.

Apresenta alguma mensagem de erro? ou simplesmente não executa?

Tchauzin!

A

Eu num sei como q aparece imagem mas copiei daew xD

Esse é o erro:

run:

Exception in thread main java.lang.RuntimeException: Uncompilable source code - cannot find symbol

symbol:   variable msn1

location: class Main

at Main.main(Main.java:9)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
A

Isso é problema de encoding.

Ele não reconheceu o s do atributo msn1.

Muda o encoding ou o nome das variáveis.

Provavelmente você copiou esse código de algum lugar e ele veio com essa codificação que o compilador não entende.

A

Bom, agora eu deixei conforme me indicaram:
==============================

import javax.swing.JOptionPane;

public class Ex24 {
   public static void main(String[] args) {

      int n1, n2, n3, n4, media;
         

              n1 = Integer.parseInt (JOptionPane.showInputDialog(" A primeira nota "));
             
              n2 = Integer.parseInt(JOptionPane.showInputDialog(" A segunda nota "));
              
              n3 = Integer.parseInt( JOptionPane.showInputDialog(" A terceira nota "));
              
              n4 = Integer.parseInt (JOptionPane.showInputDialog(" A quarta nota "));
              


            media =  (n1 + n2 + n3 +n4) / 4;
            JOptionPane.showMessageDialog(null, "O Total é " + media, ".", JOptionPane.PLAIN_MESSAGE);

            System.out.println(" A média é:" + media);
            System.exit(0);

======================

E está este Erro:

=========================

run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
  symbol:   variable msn1
  location: class Main
        at Main.main(Main.java:9)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

=====================

Adriano disse que pode ser erro de Encoding - eu num sei o´qué isso, comecei faz nem 1 mes ainda =/.
As dicas q ja fiz ja estão corrigidas, tipo. Colocar o msm Nome da Class como ta salvado e tals.

T_T

A

Tá vendo esses caracteres estranhos nas palavras média?

Pois é, são acentos que você utiliza, talvez até em nome de variável.

Tenta remover todos os acentos do seu código!!

G

qual jdk vc tem qual IDE vc usa? como vc esta fazendo a classe? e quando for colocar codigo aki coloca em tag

A

Bom eu Baixei o Netbeans 6.7.1
e o JDK é este : jdk-1_5_0_20-nb-6_7_1-windows-ml
Desculpa ae burrice, mas inicio é feo a coisa T_T
Nem sei como q coloca com tag x_x

agora o programa ta assim conforme nosso amigo la de cima indico:

====================================
import javax.swing.JOptionPane;

public class Ex24 {
   public static void main(String[] args) {

      int n1, n2, n3, n4, media;
         

              n1 = Integer.parseInt (JOptionPane.showInputDialog(" A primeira nota "));
             
              n2 = Integer.parseInt(JOptionPane.showInputDialog(" A segunda nota "));
              
              n3 = Integer.parseInt( JOptionPane.showInputDialog(" A terceira nota "));
              
              n4 = Integer.parseInt (JOptionPane.showInputDialog(" A quarta nota "));
              


            media =  (n1 + n2 + n3 +n4) / 4;
            JOptionPane.showMessageDialog(null, "O Total  " + media, ".", JOptionPane.PLAIN_MESSAGE);

            System.out.println(" A media :" + media);
            System.exit(0);

}

}

============================

e o erro persiste, ja tirei os caracteres especiais.

======================

run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
  symbol:   variable msn1
  location: class Main
        at Main.main(Main.java:9)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

===============

To começando pessoal, desculpa ae pelas ignorancias =/

G

escreve “[cod]” no inicio e “[/cod]”

A
import javax.swing.JOptionPane;

public class Ex24 {
   public static void main(String[] args) {

      int n1, n2, n3, n4, media;
         

              n1 = Integer.parseInt (JOptionPane.showInputDialog(" A primeira nota "));
             
              n2 = Integer.parseInt(JOptionPane.showInputDialog(" A segunda nota "));
              
              n3 = Integer.parseInt( JOptionPane.showInputDialog(" A terceira nota "));
              
              n4 = Integer.parseInt (JOptionPane.showInputDialog(" A quarta nota "));
              


            media =  (n1 + n2 + n3 +n4) / 4;
            JOptionPane.showMessageDialog(null, "O Total  " + media, ".", JOptionPane.PLAIN_MESSAGE);

            System.out.println(" A media :" + media);
            System.exit(0);

}

}

Erro:

run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
  symbol:   variable msn1
  location: class Main
        at Main.main(Main.java:9)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
A

Poutzz, acho q errei os Cod T_T

maus ae - q vergonha T_T

A

Acho q é NetBeans msm q ta com erro.
Vo usar o eclipse qm sab resolva o problema.

mvargens

Para usar o code não tem segredo. Ou vc escreve ou seleciona o texto e clica no botão do editor aqui em cima. (Code*)
Seu programa está funcionando, o problema deve ser os caracteres especiais que quando copiados de uma página html podem vir diferentes.
Faz o seguinte, copia o código daqui e cola em um editor de texto simples (Notepad), veja se ficou esquisito, se não ficou, copia do Notepad e cola no netbeans. Ve ai se funciona ou se o erro persiste.
Qual SO vc usa?

G

na verdade fui eu disculpa eh code

A

Agora o que aparece é o seguinte:

Eu fiz tbm este programa de Multiplicar e soma Quantidades e Valores:

//Exerc�­cio 2
import javax.swing.JOptionPane;
public class Exerc2.2 {

        public static void main(String args[])  {

            int quant1, valor1, quant2, valor2, quant3, valor3, total;
            String msn1, msn2, msn3, msn4, msn5, msn6;

            msn1 = JOptionPane.showInputDialog("Entre com a Primeira Quantidade");
            msn2 = JOptionPane.showInputDialog("Entre com o Valor da Primeira Quantia");
            msn3 = JOptionPane.showInputDialog("Entre com a Segunda Quantidade");
            msn4 = JOptionPane.showInputDialog("Entre com o Valor da Segunda quantia");
            msn5 = JOptionPane.showInputDialog("Entre com a Terceira Quantidade");
            msn6 = JOptionPane.showInputDialog("Entre com o Valor da Terceia quantia");
            
            
            quant1= Integer.parseInt(msn1);
            quant2= Integer.parseInt(msn2);
            quant3= Integer.parseInt(msn3);
            valor1= Integer.parseInt(msn4);
            valor2= Integer.parseInt(msn5);
            valor3= Integer.parseInt(msn6);

            total =(quant1 * valor1 + quant2 * valor2 + quant3 * valor3);
            JOptionPane.showMessageDialog(null, "O Total é " + total, ".", JOptionPane.PLAIN_MESSAGE);
            System.out.println("Total é =" + total);
            System.exit(0);
                    }
}

Ate blz. dae qdo eu qro compilar o programa que estou com duvida, que é este:

import javax.swing.JOptionPane;

public class Ex24 {
   public static void main(String[] args) {

      int n1, n2, n3, n4, media;
         

              n1 = Integer.parseInt (JOptionPane.showInputDialog(" A primeira nota "));
             
              n2 = Integer.parseInt(JOptionPane.showInputDialog(" A segunda nota "));
              
              n3 = Integer.parseInt( JOptionPane.showInputDialog(" A terceira nota "));
              
              n4 = Integer.parseInt (JOptionPane.showInputDialog(" A quarta nota "));
              


            media =  (n1 + n2 + n3 +n4) / 4;
            JOptionPane.showMessageDialog(null, "O Total  " + media, ".", JOptionPane.PLAIN_MESSAGE);

            System.out.println(" A media :" + media);
            System.exit(0);

}

}

o NetBeans Executa o primeiro la de cima(Quantiodade e Valores) e nao compila o da média que é o q qro q compile =/
O q pode ser ?

A

Bom o programa está realmente certo. O que está errado é o netbeans. Eu crio um programa e qdo mando compilar está sendo compilado o que eu fiz a muito tempo atrás. Então vou em cima na barra - executar, la tem um caminho assim : ‘Definir como projeto principal’ Nesse caminho ta os programas que fiz, então eu marco como nenhum, mas qdo vou compilar novos programas que criei ele nao compila nada. Como corrigi-lo? Acredito que não seja erro, e sim uma configuração que está ativada.
Grato =D

G

adnal:
Bom o programa está realmente certo. O que está errado é o netbeans. Eu crio um programa e qdo mando compilar está sendo compilado o que eu fiz a muito tempo atrás. Então vou em cima na barra - executar, la tem um caminho assim : ‘Definir como projeto principal’ Nesse caminho ta os programas que fiz, então eu marco como nenhum, mas qdo vou compilar novos programas que criei ele nao compila nada. Como corrigi-lo? Acredito que não seja erro, e sim uma configuração que está ativada.
Grato =D

tente criar um programa a cada um projeto.

A

Deu certo Guialeixo. Era mesmo só criar um pra cada um. Obrigado =D

mvargens

Mas crie outros no mesmo projeto e teste. Não pode funcionar assim não. Dentro de um projeto se tem vários programas. Se for um problema de configuração tem que resolver.

prubini87
import javax.swing.JOptionPane;

class Media1 {

    public static void main(String args[]) {

        int n1, n2, n3, n4, media;

        n1 = Integer.parseInt(JOptionPane.showInputDialog("Entre com a primeira nota"));
        n2 = Integer.parseInt(JOptionPane.showInputDialog("Entre com a segunda nota"));
        n3 = Integer.parseInt(JOptionPane.showInputDialog("Entre com a terceira nota "));
        n4 = Integer.parseInt(JOptionPane.showInputDialog("Entre com a quarta nota"));

        media = (n1 + n2 + n3 + n4) / 4;

        JOptionPane.showMessageDialog(null, "O Total " + media);
        System.out.println("Total  =" + media);
        System.exit(0);
    }
}

Amigo, corrigi o seu código e validei. Agora está funcionando corretamente!
Caso tenhas dúvidas sobre as alterações que fiz, escreve para o meu e-mail, ou mande uma mensagem aqui no fórum, ok?

Abraços, e que Deus te abençoe!

Bruno_VBA

Pessoal, tenho um trabalho para fazer que é o seguinte, o programa tem que perdir 10 numeros ao usuario e depois calcular a media desses numeros, até ai beleza, mas além disso tenho que mostrar quais numeros digitados são maiores que a media alguem poderia me ajudar.Obrigado.

Bruno_VBA

Pessoal, tenho um trabalho para fazer que é o seguinte, o programa tem que pedir 10 numeros ao usuario e depois calcular a media desses numeros, até ai beleza, mas além disso o programa tem que mostrar os numeros digitados que forem maior que a media, se alguem poder ajudar muito obrigado.

mvargens

Depois de obter a média compare cada número digitado com o resultado, se for maior vc guarda em um array ou em um StringBuilder. E depois mostra isso.

StringBuilder b = new StringBulder();
if(n1 > media) b.append(n1);

if(b.length() > 0) b.append(", ");

if(n2 > media) b.append(n2);

if(b.length() > 0) b.append(", ");

if(n3 > media) b.append(n3);

if(b.length() > 0) b.append(", ");

if(n4 > media) b.append(n4);

System.out.println("Notas maiores que a média =" + b.toStrint() );
Vingdel
Bruno VBA:
Pessoal, tenho um trabalho para fazer que é o seguinte, o programa tem que perdir 10 numeros ao usuario e depois calcular a media desses numeros, até ai beleza, mas além disso tenho que mostrar quais numeros digitados são maiores que a media alguem poderia me ajudar.Obrigado.

Veja se isso funciona para vocês:

import java.util.Scanner;

public class Media{
	static int[] notas = new int[10];
	static Scanner entrada = new Scanner(System.in);
	static int soma = 0;

	public static void main(String[] arg){

		for(int i = 0; i < 10; i++){

			System.out.println("Digite a nota " + (i+1) + ": ");
			notas[i] = Integer.parseInt(entrada.nextLine());
			soma += notas[i];
		}
		int media = soma / 10;
		System.out.println("Media: " + media);
		for(int i = 0; i < 10; i++){

			if(media < notas[i])
			System.out.println("Nota "+ (i+1) + " eh maior que a media: " + notas[i]);

		}
		
	
	}

}

Abraço!

Bruno_VBA

Pessoal valeu pela ajuda.Brigadão.

Bruno_VBA

Pessoal estou com um outro problema aqui, tenho que fazer um programa que leia 10 numeros e mostre o menor e o maior deles, eu fiz mas acontece que só o maior esta dando certo o menor retorna 0, se alguem poder ajudar segue abaixo o Programa, Obrigado.

package traba;

import java.util.Scanner;

public class trabalhoex1 {

public static void main(String[] args) {

int v=0, nump=0,numi=0, Mv=0, vp=0, vi=0, mv=0;//Mv=maior valor, //mv = menor valor

int r;

for (int i = 1; i<=10; i++){

Scanner input = new Scanner(System.in);

System.out.println(Digite os valores);

v = input.nextInt();

r=v%2;

if (r==0){

vp=vp+v;

nump=nump+1;}

else{

vi=v+vi;

numi=numi+1;

}
if (v>Mv)

Mv=v;

else

if(v<mv)

mv=v;

}

System.out.println("O maior numero é: " +Mv);
System.out.println("O menor numero é: " +mv);

}
}

Vingdel

Olá Bruno VBA,

Primeiramente, gostaria de pedir para quando vocês postar um código aqui no fórum colocar entre as tags [ code] CODIGO AQUI [ /code] (sem espaço). Assim, além de facilitar a leitura de seu código, deixa o fórum mais organizado. Inclusive se você puder editar seu último posto colocando o código entre as tags eu agradeço.

Abaixo segue meu código com o que você propôs:

import java.util.Scanner;

public class  teste{
	public static void main (String[] args) {
		int v;
		int pv = 0;
		int gv = 0;

		for (int i = 1; i<=10; i++){

			Scanner input = new Scanner(System.in); 
			System.out.print("\nDigite os valores: ");
			v = input.nextInt();
			if(i==1){
				pv = v;
				gv = v;
			}else{
				if(v < pv)
					pv = v;

				if(v > gv)
					gv = v;
			}
	
		}
		System.out.println("\nO maior numero eh: " + gv);
		System.out.println("\nO menor numero eh: " + pv);	
	}

}

Abraço e bons estudos!

Bruno_VBA

Vingdel Obrigado pela ajuda, no proximo post vou seguir suas dicas pode deixar, Valeu.

M

Alguem de vocês conhece alguma classe que calcule a média de N números passados no parametro do método???

Carlos_ds_jar

Quer dizer passados numa lista?

D

Adnal,

O problema é simples.

Voce deve estar executando o projeto pelo botao play ou algo parecido.

O Netbeans está executando a classe Main(que é criada junto com o projeto desktop no Netbeans)
e não a sua classe Ex24.

Solução:
clica com o botão direito do mouse(ou esquerdo se voce for canhoto :smiley: )
na classe que voce quer executar e seleciona a opção
“Executar Arquivo”.

ocorrendo porque acho que voce está executando sua apli

D

Adnal,

O problema é simples.

Voce deve estar executando o projeto pelo botao play ou algo parecido.

O Netbeans está executando a classe Main(que é criada junto com o projeto desktop no Netbeans)
e não a sua classe Ex24.

Solução:
clica com o botão direito do mouse(ou esquerdo se voce for canhoto :smiley: )
na classe que voce quer executar e seleciona a opção
“Executar Arquivo”.

ocorrendo porque acho que voce está executando sua apli

dg_cursos_de_java

adnal:
Acho q é NetBeans msm q ta com erro.
Vo usar o eclipse qm sab resolva o problema.

Cara, tenta instalar uma IDE simples só para vc verificar o código…
tente uma IDE de aprendizagem… essas mais usadas em Universidades…
talvez seja imcompatibilidade do seu NetBeans…
atualize o Java… instale a última versão…

Precisando de algo… :wink:

andredemelo

O ultimo código que você postou está rodando normalmente, concerteza é algum problema com a IDE do Netbeans mesmo!!
Tenta no Eclípse! Se quizer pentar esse código aqui!

import javax.swing.JOptionPane;  

public class Media {  
	public static void main(String[] args) {  

		int n1, n2, n3, n4, media;  

	    n1 = Integer.parseInt (JOptionPane.showInputDialog(" A primeira nota! "));  
            n2 = Integer.parseInt(JOptionPane.showInputDialog(" A segunda nota! "));  
            n3 = Integer.parseInt( JOptionPane.showInputDialog(" A terceira nota! "));  
            n4 = Integer.parseInt (JOptionPane.showInputDialog(" A quarta nota! "));  
                    
                     media =  (n1 + n2 + n3 +n4) / 4;  
            
            JOptionPane.showMessageDialog(null, "O Total  " + media, ".", JOptionPane.PLAIN_MESSAGE);  
   
            System.out.println(" A media :" + media);  
            
                     System.exit(0);  
	}  
}
M

Sim, por exemplo: ClasseMedia.calculaMedia(2,2,2,2,2,2)
o grande lance seria poder realizar a média sem precisar a quantidade de numeros que será inserido…

caso essa classe e exista o método calculaMedia irá calcular a média de acordo com o que foi passado.
Na classe Math não encontrei algo parecido com isso, procurei também no javadocs, mas realmente não encontrei nada.

Eric_Yuzo

Não conheço uma classe que faça esse tipo de cálculo. Mas você pode tentar implementar algo do tipo:

public static double calculaMedia(int... valores) { int soma = 0; for (int valor: valores) { soma += valor; } return soma/valores.length; }
Espero que ajude.

Criado 17 de setembro de 2009
Ultima resposta 10 de set. de 2010
Respostas 38
Participantes 15