Somma a elementi alterni

di il
1 risposte

Somma a elementi alterni

Non riesco a capire perchè il valore viene considerato come indice del vettore nel metodo "sumAlternate" mi aiutate a capire?
questo è quello che ho fatto:

public class Somma 
{
	public Somma()
	{
		sum = 0;
		asum = 0;
	}
	
	public void sumAlternate(int n)
	{
		int[] array = new int[n];
		for(int i=1;i<array.length;i+=2)
		{
		                for(int j=0;j<array.length;j+=2)
			asum = array[i] - array[j];
		}
	}
	
	public int getSumAlternate()
	{
		return asum;
	}
	
	public void sumNormal(int n)
	{
		int[] array = new int[n];
		for(int i=0;i<array.length;i++)
		     sum = sum + array[i];
	}
	
	public int getSumNormal()
	{
		return sum;
	}

	private int sum;
	private int asum;
}


import java.util.Scanner;
public class SommaTest 
{
	/**
	 * Programma che effettua la somma ad elementi alterni e normale.
	 */
	public static void main(String[] args) 
	{
		Scanner in = new Scanner(System.in);
		Somma sum = new Somma();
		
		System.out.println("Inserisci dei numeri interi(Max 10)");
		boolean done = false;
		while(!done)
		{
			System.out.println("Premi Q per terminare.");
			String input = in.next();
			if(input.equalsIgnoreCase("Q"))
				done = true;
			else
			{
				int a = Integer.parseInt(input); //dato che è una stringa Integer.parseInt lo converte in numero.
				sum.sumAlternate(a);
				sum.sumNormal(a);
				done = false;
			}
				
		}
		
		System.out.println("La somma normale è: "+ sum.getSumNormal());
		System.out.println("La somma alternata è: "+ sum.getSumAlternate());
	}

}

1 Risposte

  • Re: Somma a elementi alterni

    Ragazzi ho risolto
    Posto il codice per chi ne ha bisogno.
    
    public class Somma 
    {
    	public Somma(int taglia)
    	{
    		sum = 0;
    		asum = 0;
    		array = new int[taglia];
    	}
    	
    	public void sumAlternate(int[] n)
    	{
    		for(int i=1;i<array.length;i+=2)
    		{
    			for(int j=0;j<array.length;j+=2)
    				asum = n[i] - n[j];
    		}
    	}
    	
    	public int getSumAlternate()
    	{
    		return asum;
    	}
    	
    	public void sumNormal(int[] n)
    	{	
    		for(int i=0;i<array.length;i++)
    		{
    			sum = sum + n[i];
    		}
    	}
    	
    	public int getSumNormal()
    	{
    		return sum;
    	}
    
    	private int sum;
    	private int asum;
    	private int[]array;
    }
    
    
    import java.util.Scanner;
    public class SommaTest 
    {
    	/**
    	 * Programma che effettua la somma ad elementi alterni e normale.
    	 */
    	public static void main(String[] args) 
    	{
    		Scanner in = new Scanner(System.in);
    		System.out.println("Inserisci la taglia dell'array: ");
    		int size = in.nextInt();
    		Somma sum = new Somma(size);
    		
    		int[] a = new int[size];
    		System.out.println("Inserisci i "+size+" valori.");
    		int i=0;
    		while(i<size)
    		{
    			int input = in.nextInt();
    			a[i] = input;
    			i++;
    		}
    		sum.sumNormal(a);
    		sum.sumAlternate(a);
    		
    		System.out.println("La somma normale è: "+ sum.getSumNormal());
    		System.out.println("La somma alternata è: "+ sum.getSumAlternate());
    	}
    }
    
    Ciao
Devi accedere o registrarti per scrivere nel forum
1 risposte