G
GreenThunder
Hallo,
in meiner Aufgabe für diese Woche geht es darum eine Kommandozeileneingabe auf Korrektheit (Ganz Zahl, keine String, kein Leerzeichen) zu überprüfen und anschließend in einer Methode die Stirlingzahl der beiden Eingaben berechnen.
Mein Problem ist allerdings die Meldung:
Genau weiß ich allerdings nicht was das bedeutet. Heißt das, dass zwei unterschiedliche Datentypen aufeinander treffen?
Desweiteren bin ich mir nicht sicher, ob auch der Fall, Eingabe eines Leerzeichens, zu einer Fehlermeldung führt. Ich glaube mein Programm ignoriert das einfach.
in meiner Aufgabe für diese Woche geht es darum eine Kommandozeileneingabe auf Korrektheit (Ganz Zahl, keine String, kein Leerzeichen) zu überprüfen und anschließend in einer Methode die Stirlingzahl der beiden Eingaben berechnen.
Mein Problem ist allerdings die Meldung:
...AufgabeZwei.java:82: stirling(int,int) in AufgabeZwei cannot be applied to (java.lang.String,java.lang.String)
Genau weiß ich allerdings nicht was das bedeutet. Heißt das, dass zwei unterschiedliche Datentypen aufeinander treffen?
Desweiteren bin ich mir nicht sicher, ob auch der Fall, Eingabe eines Leerzeichens, zu einer Fehlermeldung führt. Ich glaube mein Programm ignoriert das einfach.
PHP:
import java.io.*;
import java.lang.*;
public class AufgabeZwei {
public static long stirling(int n, int k)
{
long stir;
if (n==0 && k==0)
{
return stir=1;
}
else
{
if (k==0)
{
return stir=0;
}
else
{
if (n==k)
{
return stir=1;
}
else
{
return stir=(k*stirling(n-1,k)+stirling(n-1,k-1));
}
}
}
}
static String eingabe(String x, String y)
{
while ( true )
{
if(x.equals("") || y.equals(""))
{
System.out.println("Sie haben keine Zeichen eingegeben!");
return x; }
try
{
int s = Integer.parseInt(x);
int t = Integer.parseInt(y);
if (s<0 || t<0 || s<t)
{
System.out.println("Die eingegebene Zahl liegt ausserhalb des Wertebereiches 0 < k < n !");
return x; }
else
{
return x;
}
}
catch(Exception e)
{
System.out.println("Sie haben keine ganze Zahl eingegeben.");
return x;
}
}
}
public static void main(String[] args)
{
eingabe(args[0],args[1]);
System.out.print(stirling(args[0],args[1]));
}
}