Hallo...
Also mein Programm is so wie es ist richtig (nach Aufgabenstellung). Ich wollte es nur damit es relativ ordentlich ist, in Prozeduren schreiben. Wenn ich das Programm aber compiliere, sagt mir der Rechner :
"KopievonNewPrim.java:64: missing return statement
}//end prim
^
KopievonNewPrim.java:93: missing return statement
} // end mirp
^
2 errors"
ich versteh das nicht, weil in beiden Prozeduren doch ein return dabei ist. Ich denke mal es ist nur ein kleiner Fehler. Wäre euch dankbar wenn ihr mir helft ihn zu finden weil ich sitz da schon ein weilchen und komm nicht drauf.
Danke im Vorraus
hier mein Quellcode:
Also mein Programm is so wie es ist richtig (nach Aufgabenstellung). Ich wollte es nur damit es relativ ordentlich ist, in Prozeduren schreiben. Wenn ich das Programm aber compiliere, sagt mir der Rechner :
"KopievonNewPrim.java:64: missing return statement
}//end prim
^
KopievonNewPrim.java:93: missing return statement
} // end mirp
^
2 errors"
ich versteh das nicht, weil in beiden Prozeduren doch ein return dabei ist. Ich denke mal es ist nur ein kleiner Fehler. Wäre euch dankbar wenn ihr mir helft ihn zu finden weil ich sitz da schon ein weilchen und komm nicht drauf.
Danke im Vorraus
hier mein Quellcode:
Code:
import dssz.io.*;
public class KopievonNewPrim{
public static void main(String[] args){
stdin in =new stdin();
// Variablen werden deklariert
int u,o;
// Variable u und o werden eingelesen
u=in.getInt("Geben Sie die Untergrenze ein: ");
o=in.getInt("Geben Sie die Obergrenze ein: ");
// Ausgabe der Prim und Mirpzahlen
System.out.println(prim(o,u)+" ist eine Primzahl");
System.out.println(mirp(u,o)+"!");
}//end main
public static int prim(int o,int u){
boolean[] prim = new boolean[o];
prim[0] = true;
prim[1] = true;
//Berechnung der Primzahlen
for(int i=2; i < prim.length; i++){
if(prim[i] == true){
continue;
}//end if
for(int a=2*i; a < prim.length; a+=i){
if(prim[a] == false){
prim[a] = true;
}//end if
}//end for
}// end for
for(int i=u; i < prim.length; i++){
if(prim[i] == false)
return i;{
}//end if
}//end for
}//end prim
public static int mirp(int u,int o){
for(int i=u; i < o; i++){
// Initialisierung der Variable Zahl2
String Zahl2="";
// Integerwert wird in String umgewandelt und als Zahl1 deklariert
String Zahl1=String.valueOf(i);
//Laenge des Strings wird ermittelt
int laenge= Zahl1.length();
// Variable p wird initialisiert
char p=0;
// Schleife geht den String Charakterweise von hinten nach vorn durch und speichert die Charakter "verdreht" in der Variable Zahl2 ab
for(int j=(laenge-1);j>-1;j--){
p=Zahl1.charAt(j);
Zahl2=Zahl2+p;
} // end for
//Zahl2 des Typs String wird in einen Integerwert mit dem Namen Zahl3 umgewandelt
int Zahl3=Integer.parseInt(Zahl2);
//Zahl1 des Typs String wird in einen Integerwert mit dem Namen Zahl4 umgewandelt
int Zahl4=Integer.parseInt(Zahl1);
// die beiden neuen Int.-Zahlen werden auf Primzahlen getestet. Sind es beide Primzahlen, handelt sich um eine Mirpzahl welche anschließend ausgegeben wird
if((Zahl3 % 2)!=0 && ((Zahl3 % 3)!=0) && ((Zahl3 % 5)!=0) && ((Zahl3 % 7)!=0) && (Zahl4 % 2)!=0 && ((Zahl4 % 3)!=0) && ((Zahl4 % 5)!=0) && ((Zahl4 % 7)!=0)){
return Zahl4;
}// end if
}//end for
} // end mirp
}//end class