M
Mekkapeter
Gast
Hallo, ich hab da ein Problem mit meinem Code,ich hab eine Zufallszahl n generiert die einen Exception Error verursacht. Ich hab jetzt 4 mal über den Programmcode drüber gesehen und hab keinen Fehler gefunden. Bin Student im 1.Semester Wirtschaftsinformatik und wir programmieren mit dem java Editor Eclipse.
Hier ist die Aufgaben Stellung. Wir sollen ein Programm schreibne wo ein spieler gegen den Computer spielt. In dem spiel geht es um Streichhölzer die von einem Haufen entfernt werden sollen. Die Zufallszahl b ist dafür zuständig ob der computer beginnt oder der spieler und die zufallszahl s ist für den Spielmodus des Computer zuständig,der in 2 Spielmodi spielen kann.
Die Zufallszahl n ist für die anzahl der Streichhölzer verantwortlich. Wer von den beiden das letzte Streichholz,also n=1,zieht hat verloren.
Mein fehler hat mit dieser Zufallszahl zu tun,laut Eclipse.Ich bedanke mich bei Euch schon mal.
Hier kommt der Programmcode.
Hier ist die Aufgaben Stellung. Wir sollen ein Programm schreibne wo ein spieler gegen den Computer spielt. In dem spiel geht es um Streichhölzer die von einem Haufen entfernt werden sollen. Die Zufallszahl b ist dafür zuständig ob der computer beginnt oder der spieler und die zufallszahl s ist für den Spielmodus des Computer zuständig,der in 2 Spielmodi spielen kann.
Die Zufallszahl n ist für die anzahl der Streichhölzer verantwortlich. Wer von den beiden das letzte Streichholz,also n=1,zieht hat verloren.
Mein fehler hat mit dieser Zufallszahl zu tun,laut Eclipse.Ich bedanke mich bei Euch schon mal.
Hier kommt der Programmcode.
Java:
import java.util.Scanner;
public class Bisektions_Verfahren {
public static void main (String [] args){
Scanner sc=new Scanner(System.in);
double a,b,nmax,m,a1,b1,eps;
int i=0;
//Eingabe Variable
System.out.println("Eingabe der Variablen a und b: ");
a=sc.nextDouble();
b=sc.nextDouble();
System.out.println("Eingabe der Anzahl der Iterationen: ");
nmax=sc.nextInt();
eps=1*Math.pow(10,-8);
//Formeln
while (!(i>=nmax)|| !((b-a)>eps)){
a1=Math.sqrt(a)-Math.cos(a);
b1=Math.sqrt(b)-Math.cos(b);
if ((a1<0 && b1>0) || a1>0 && b1<0 ) {
m=(a+b)/2;
if ((Math.signum(a)==Math.signum(m))){
a=m;
}
else {
b=m;
}
a1=a;
b1=b;
i=i+1;
System.out.println("Bei der "+i+"-ten Iteration haben a=" +a+" und b="+b+ " Lösung m="+m );
}
}
System.out.println("Wobei bei der letzten Iteration das Vorzeichn der Funktion gleich ist");
}
}
Zuletzt bearbeitet von einem Moderator: