Java-Programm zur Berechnung der Kombinationen-Funktion
Für meine Programmierung Klasse, ich habe um ein Programm, das berechnet die Kombinationen-Funktion C(n,k) = n!/(k!*(n-k)!) durch die Verwendung einer main-Methode zum Umgang mit Eingang/Ausgang, eine Methode zur Berechnung der Fakultät, und eine Methode zur Berechnung der Kombinationen-Funktion. Hier ist mein code:
import java.util.Scanner;
public class Combinations {
public static void factorials (int set, int objects) {
Scanner keyboard = new Scanner(System.in);
int n = set;
int k = objects;
int c = (n-k);
int factorial1 = 1;
int factorial2 = 1;
int factorial3 = 1;
while (n > 0) {
factorial1 = factorial1 + s;
n = n++;
}//while loop
while (k > 0) {
factorial2 = factorial2 + o;
k = k++;
}//while loop
while (c > 0) {
factorial3 = factorial3 + c;
c = c++;
}//while loop
System.out.println(Combinations(factorial1,factorial2,factorial3));
}//method factorials
public static int Combinations (int set, int objects, int x){
int n = set;
int k = objects;
int c = x;
int combination;
combination = n/(k*c);
return combination;
}//method Combinations
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter the number of integers in a set: ");
int n = keyboard.nextInt();
System.out.println("Enter the number of objects to be chosen from the set: ");
int k = keyboard.nextInt();
System.out.println(factorials(n,k));
}//method main
}//class
Mein problem ist, dass ich immer eine Fehlermeldung für System.out.println(factorials(s,o));
- "Die Methode println(boolean) der Typ PrintStream ist nicht anwendbar für die Argumente (void)". Ich habe keine Ahnung, warum es das sagt. Hilfe?
InformationsquelleAutor ameliafromafairytale | 2013-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem code,
zurück
void
. Sie können nicht verwendenvoid
Methode inSystem.out.println(factorials(s, o));
Veränderung versuchen, Ihr code als
andere Weise zu berechnen, die Kombinationen ohne Methode aufrufen,
Ausgabe:
Überprüfen Sie heraus meine aktualisierte Antwort.
Danke! Das ist wirklich klärt sich vieles auf 🙂
InformationsquelleAutor Woody
Grundsätzlich sind Sie übergeben ein argument, um Ihre
println(Object)
Methode. Aberfactorials(s,o)
einen void zurückgibt. Sie können entweder rufen Sieprintln()
oder aber, wenn Sie verwenden möchtenprintln(Object)
dannfactorials(s,o)
zurückkehren sollte, ein Nachfahre von java.lang.Objekt.Unter Spezifikationen für das weitere Verständnis :
PrintStream
InformationsquelleAutor Gaurav Varma