exercício dificil

2 respostas
M

Boa Noite gostaria de ajuda neste exercício que é do livro Java6 pag.53

4)Crie uma classe que receba quatro valores quaisquer e mostre a media e o somatório entre eles e o resto da divisão do somatório por cada um dos valores, conforme a figura 2.10. Utilize a caixa de dialogo com a classe JOptionPane para a entrada de dados. Para quebrar uma linha dentro da caixa de diálogo, utilize "\n".

Fiz até onde eu entendi mas o resto não sei direito como fazer.

import javax.swing.JOptionPane;
class Ex4pag53 
{ 
public static void main ( String args[])
{
String aux = "";
float v1 = 0, v2 = 0, v3 = 0, v4 = 0, media = 0;
int a =6; int b = 8; int c = 10; int d = 12;
final double pi = 36;
try
{
aux = JOptionPane.showInputDialog(null, "Entre com a 1 nota");
v1 = Float.parseFloat(aux);

aux = JOptionPane.showInputDialog(null, "Entre com a 2 nota");
v2 = Float.parseFloat(aux);

aux = JOptionPane.showInputDialog(null, "Entre com a 3nota");
v3 = Float.parseFloat (aux);

aux = JOptionPane.showInputDialog(null, "Entre com a 4 nota");
v4 = Float.parseFloat (aux);

media = (v1+v2+v3+v4)/4;
JOptionPane.showMessageDialog(null, "média : "+media); 

System.out.println("36 = "+ 36);
System.out.println("-b = "+(-);
System.out.println(" = "+ c);



}
catch (NumberFormatException e)
{
JOptionPane.showMessageDialog(null,"houve um erro na conversão, digite apenas caracteres numericos");
}
System.exit (0);

} 
}

2 Respostas

leofernandesmo
public class A {
    BigDecimal v1;
    BigDecimal v2;
    BigDecimal v3;
    BigDecimal v4;    
    
    BigDecimal soma(){
        return v4.add(v3.add(v2.add(v1)));
    }
    
    BigDecimal media(){
        BigDecimal soma = this.soma();
        return soma.divide(BigDecimal.valueOf(4));
    }

}

Coloque os gets e sets e termine o que falta…
Fica melhor se vc separar a classe que faz a regra da classe que está o main.
Então na classe que tem o main basta instanciar esta classe A(claro mude o nome da classe A)

E

Uma solução para o seu exercício:

package duvidas;
	
	import javax.swing.JOptionPane;
	
	import java.math.BigDecimal;
	
	
	/**
	 * DOCUMENT ME!
	 *
	 * @author $author$
	 * @version $Revision: 1.1 $
	 */
	public class Ex4pag53
	{
	   private BigDecimal media;
	   private BigDecimal somatorio;
	   private BigDecimal[] resto;
	   private BigDecimal[] valores;
	   
	   public Ex4pag53()
	   {
		   this.somatorio  = BigDecimal.ZERO;
		   this.resto = new BigDecimal[4];
		   this.valores = new BigDecimal[4];
	   }   
	   
	   public BigDecimal getMedia()
	   {
	      return media;
	   }
	
	   public BigDecimal getSomatorio()
	   {
	      return somatorio;
	   }   
	   
	   public void setMedia(BigDecimal media)
	   {
	      this.media = media;
	   }
	   
	   public void setSomatorio(BigDecimal somatorio)
	   {
		  	   
	      this.somatorio = this.somatorio.add(somatorio);
	   }
	   
	//   method main
	   
	   public static void main(String[] args)
	   {
	      new Ex4pag53().operation();
	   }
	   
	   private void operation()
	   {
	//	   quando é chamado pela primeira vez: Entra com os valores e armazena
	//	   em um vetor, realiza somatório e a média.
		   
	      if (valores[0] == null)
	      {
	         for (int i = 0; i < valores.length; i++)
	         {
	            valores[i] = BigDecimal.valueOf(Double.parseDouble(JOptionPane.showInputDialog("Valor: " + (i+1))));
	            setSomatorio(valores[i]);            
	         }
	         setMedia(getSomatorio().divide(BigDecimal.valueOf(4)));
	
	//       chama novamente o método.  
	         operation();
	      }
	//      quando é chamado pela segunda vez:Primeiro exibe o somatório e a média,
	//      depois divide o valor do somatório pelos valores do vetor e armazena
	//      em outro vetor chamado resto.Por fim exibe na tela;
	      else
	      {
	    	 String result = "--------- RESULTADO ----------" +
	    	 				"\n\nSomatório: "+getSomatorio()+
	    	                 "\nMédia: "+getMedia()+"\n";    	 
	    	  
	         for (int i = 0; i < resto.length; i++)
	         {
	        	 resto[i]= getSomatorio().remainder(valores[i]);
	        	 result += "\nSomatorio: "+getSomatorio()+" \ "+"Valor: "+valores[i]+" = "+
	        	 			" Resto: "+resto[i];
	         }
	         
	         JOptionPane.showMessageDialog(null, result);
	      }
	   }
	}
Criado 15 de junho de 2008
Ultima resposta 16 de jun. de 2008
Respostas 2
Participantes 3