9
votes

Méthode Java pour résumer un nombre quelconque d'INTS

J'ai besoin d'écrire une méthode Java Sumall () qui prend un nombre d'entiers et renvoie leur somme. XXX

Je ne sais pas comment faire cela.


0 commentaires

7 Réponses :


2
votes

Utilisez var args xxx


4 commentaires

Alors, que si la somme déborde la valeur entière ;-)


Le résultat est de type long, OP peut gérer le type de données en fonction de son cas


Merci. Le type de retour devait être int. La notation (int ... numéros) fonctionne-t-elle pour d'autres types tels que Long Double et même String?


Oui ça marche, voir le lien dans la réponse pour une description détaillée



14
votes

Vous avez besoin: xxx pré>

puis appelez la méthode et donnez-la autant de valeurs INT que nécessaire: P>

int result = sumAll(1,4,6,3,5,393,4,5);//.....
System.out.println(result);


2 commentaires

Merci! J'ai dû utiliser le public statique Int Sumall


Pouvons-nous faire cela en moins que O (n) temps?



9
votes
public int sumAll(int... nums) { //var-args to let the caller pass an arbitrary number of int
    int sum = 0; //start with 0
    for(int n : nums) { //this won't execute if no argument is passed
        sum += n; // this will repeat for all the arguments
    }
    return sum; //return the sum
} 

1 commentaires

Merci. Je suis plus à l'aise avec l'autre notation pour les boucles



0
votes
 public static void main(String args[])
 {
 System.out.println(SumofAll(12,13,14,15));//Insert your number here.
   {
      public static int SumofAll(int...sum)//Call this method in main method.
          int total=0;//Declare a variable which will hold the total value.
            for(int x:sum)
          {
           total+=sum;
           }
  return total;//And return the total variable.
    }
 }

0 commentaires

0
votes

Vous pouvez le faire, en supposant que vous disposez d'une matrice avec la valeur de la valeur et de la matrice: arrayval [i] code>, araylength code>:

int sum = 0;
for (int i = 0; i < arrayLength; i++) {
    sum += arrayVal[i];
}

System.out.println("the sum is" + sum);


2 commentaires

Envisagez d'ajouter la signature de méthode pour améliorer la qualité de la réponse.


Vous n'avez pas besoin d'une variable pour la longueur de la matrice, vous avez cette valeur dans votre tableau.



20
votes

Si vous utilisez Java8, vous pouvez utiliser le intestream : xxx

résultats: 181

juste 1 ligne de code qui résumera la matrice.


0 commentaires

1
votes
import java.util.Scanner;

public class SumAll {
    public static void sumAll(int arr[]) {//initialize method return sum
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("Sum is : " + sum);
    }

    public static void main(String[] args) {
        int num;
        Scanner input = new Scanner(System.in);//create scanner object 
        System.out.print("How many # you want to add : ");
        num = input.nextInt();//return num from keyboard
        int[] arr2 = new int[num];
        for (int i = 0; i < arr2.length; i++) {
            System.out.print("Enter Num" + (i + 1) + ": ");
            arr2[i] = input.nextInt();
        }
        sumAll(arr2);
    }

}

0 commentaires