Brauche dringend Hilfe beim exception im Code
-
Hallo zusammen,
ich habe eine Aufgabe bis Montag. Es geht darum den Code zu verstehen und zu erklären. Eigentlich habe ich den Code verstanden bis auf eine Stelle. X muss als long zurückgegeben werden aber es geht eigentlich nicht da x zu letzt in einer try catch schleife zu einem String wird. Könnt ihr mir da weiterhelfen? x = e.toString().charAt(0) - e.toString().charAt(26) wird hier x nicht zu einem String?Ich poste mal den ganzen Code
public long k(int m){ // m nehme ich als 2
long x = Math . sqrt (361) % 17 == 2 ? 0 : 1; // nach berechnung x = 0;
try{
int p = '' / (int)x; // '' ist in ASCII 42 / 0 geht nicht
} catch ( Exception e){
x = e. toString (). charAt (0) - e. toString (). charAt (26) ; // hier versteh ich nicht zu was x wird?
}
Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet
int r = (int)e( 1, 1); //r = 1 nach berechnungen
while (r % (m+1) != 0){ // für m =2 ergibt sich der wert 1
x = e(r, x); // diese Zeile versteh ich nicht,da x eigentl. long sein müsste aber ein String ist??
r += '&' - '%'; // laut ASCI '&' = 38 - '%' = 37 also r = 2
}
return x;
}
public long e(int o, long v){
long r = o % 2 == 0 ? 4 : 2; // für o = 1 r = 2
long s = r % 2 == 0 ? 1 : 0; // für r =2 s = 1
return s * o * v; // =1
}
-
Das ist Java oder?
-
gute frage ich konnt mich selber nciht entscheiden, bisher waren alle übungen in c++ und der code in der aufgabe sieht weder nach 1100% java noch nach 100% c++ aus. war deshalb total unentschlossen.
was ich vergessen habe zu erwähnen, der Code ist obfuscated
-
Mal wieder falsch gemacht. Such mal pumuckl und geh auf den Link in seiner Signatur. Traurig, ich formattier mal den Code
public long k(int m) { // m nehme ich als 2 long x = Math . sqrt (361) % 17 == 2 ? 0 : 1; // nach berechnung x = 0; try { int p = '*' // (int)x; // '*' ist in ASCII 42 / 0 geht nicht } catch ( Exception e) { x = e. toString (). charAt (0) - e. toString (). charAt (26) ; // hier versteh ich nicht zu was x wird? } int r = (int)e( 1, 1); //r = 1 nach berechnungen while (r % (m+1) != 0) { // für m =2 ergibt sich der wert 1 x = e(r, x); // diese Zeile versteh ich nicht,da x eigentl. long sein müsste aber ein String ist?? r += '&' - '%'; // laut ASCI '&' = 38 - '%' = 37 also r = 2 } return x; } public long e(int o, long v) { long r = o % 2 == 0 ? 4 : 2; // für o = 1 r = 2 long s = r % 2 == 0 ? 1 : 0; // für r =2 s = 1 return s * o * v; // =1 }
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x, bzw. C++11) in das Forum Java verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Cheryy schrieb:
Könnt ihr mir da weiterhelfen? x = e.toString().charAt(0) - e.toString().charAt(26) wird hier x nicht zu einem String?
Da x als long deklariert ist, bleibt es auch ein long. Der Typ einer Variable kann nicht einfach so wechseln. Um diese Zeile zu verstehen, solltest du dir noch mal die charAt()-Methode der Klasse String angucken.
-
Vieeelen Dank