empeiros1987 Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 έχω ένα αρχείο .class το οποίο δουλεύει κανονικότατα σαν μέρος ενός ολόκληρου προγράμματος. Μετατρέπω αυτό το .class σε .java. Πριν το "πειράξω" το αρχείο .java μου εμφανίζει 2 λάθη. Όταν το πειράζω πάλι μου εμφανίζει τα ίδια λάθη. Κάνοντας το λοιπόν compile δεν μου το μετατρέπει εκ νέου σε class αρχείο έτσι ώστε να το τοποθετήσω πάλι στο πρόγραμμα. Αυτό που θέλω δλδ είναι να μου μετατρέψει κάποιος αυτό το αρχείο σε .class. Μπορεί καποιος να με βοηθήσει? Ευχαριστώ πολύ..CheckSequenceD.zip
georgemarios Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 δε λες και ποια ειναι τα λαθη (τα μηνυματα που σου βγαζει ο compiler)?
empeiros1987 Δημοσ. 27 Οκτωβρίου 2009 Μέλος Δημοσ. 27 Οκτωβρίου 2009 λέει gia την εντολή exception. κατέβασε το και θα τα δεις. κάντο σε παρακαλώ.
georgemarios Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 το αρχειο που εδωσες ειναι αυτο > package gr.aueb.dds.exercise; import java.io.PrintStream; import java.security.AlgorithmParameters; import javax.crypto.Cipher; import javax.crypto.Mac; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; class CheckSequence { private String courseName; private int exerciseId; private int studentId; private int grade; private static byte keyData[] = { -27, 77, 57, -108, -49, 99, -67, 28, 91, -82, -14, -36, -97, -7, 18, 57 }; private static byte iv[] = { 87, -120, 119, -107, -103, -109, -55, 51 }; CheckSequence(String s, int i, int j, int k) { courseName = s; exerciseId = i; studentId = j; grade = 10; } private String asSentence() { return (new StringBuilder()).append("Course: ").append(courseName).append(" Exercise: ").append((new Integer(exerciseId)).toString()).append(" Student: ").append((new Integer(studentId)).toString()).append(" Grade: ").append((new Integer(grade)).toString()).toString(); } private byte[] getBytes() { return asSentence().getBytes("US-ASCII"); Exception exception; [color=Red]exception; <-----εεε??[/color] System.err.println((new StringBuilder()).append("Error: ").append(exception).toString()); return new byte[0]; } byte[] getMac() { SecretKeySpec secretkeyspec; SecretKeySpec secretkeyspec1; for(int i = 0; i < keyData.length; i++) { keyData[i] ^= 0x5a; } secretkeyspec = new SecretKeySpec(keyData, "HmacMD5"); secretkeyspec1 = new SecretKeySpec(keyData, "Blowfish"); Cipher cipher; Mac mac; AlgorithmParameters algorithmparameters = AlgorithmParameters.getInstance("Blowfish"); IvParameterSpec ivparameterspec = new IvParameterSpec(iv); algorithmparameters.init(ivparameterspec); cipher = Cipher.getInstance("Blowfish/CBC/PKCS5Padding"); cipher.init(1, secretkeyspec1, algorithmparameters); mac = Mac.getInstance("HmacMD5"); mac.init(secretkeyspec); return mac.doFinal(cipher.doFinal(getBytes())); Exception exception; [color=Red]exception; <-----εεε??[/color] System.err.println((new StringBuilder()).append("Error: ").append(exception).toString()); System.exit(1); return "".getBytes(); } } δε μπορεις να δεις το λαθος μονος σου; Αφου στο λεει ο ιδιος ο compiler Σημ. δεν εχω java compiler στη δουλεια.......
empeiros1987 Δημοσ. 27 Οκτωβρίου 2009 Μέλος Δημοσ. 27 Οκτωβρίου 2009 C:\Users\Γουρνάς\Desktop\CheckSequence.java:42: not a statement exception; ^ C:\Users\Γουρνάς\Desktop\CheckSequence.java:69: not a statement exception; ^ 2 errors Tool completed with exit code 1 το βγάζει και πριν και μετά αφου το πειράξω το πρόγραμμα. παρόλα αυτά το .class το αρχικό που έχω δουλεύει ρολόι. ---------- Το μήνυμα προστέθηκε στις 16:50 ---------- και τι να κάνω ακριβώς? να σβήσω αυτή την εντολή?αν το κάνω μου βγάζει μετά πολλά λάθη..
georgemarios Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 προφανως δουλευει ρολοι, απλα ο decompiler δε σου βγαζει καλο κωδικα το να γραψει καποιος >exception; δε σημαινει τιποτα, δε κανει τιποτα, αυτο σου λεει ο compiler το μονο που μπορω να φανταστω ειναι πως εκει χρειαζεται να βαλεις καποια απο τα statements της getMAC μεσα σε ενα try/catch blok Αν δεν ξερεις τιποτε απο exceptions, τοτε παρε τη μπακαλικη οδο και αφαιρεσε εντελως το exception...... px > private byte[] getBytes() { return asSentence().getBytes("US-ASCII"); } kai > byte[] getMac() { SecretKeySpec secretkeyspec; SecretKeySpec secretkeyspec1; for(int i = 0; i < keyData.length; i++) { keyData[i] ^= 0x5a; } secretkeyspec = new SecretKeySpec(keyData, "HmacMD5"); secretkeyspec1 = new SecretKeySpec(keyData, "Blowfish"); Cipher cipher; Mac mac; AlgorithmParameters algorithmparameters = AlgorithmParameters.getInstance("Blowfish"); IvParameterSpec ivparameterspec = new IvParameterSpec(iv); algorithmparameters.init(ivparameterspec); cipher = Cipher.getInstance("Blowfish/CBC/PKCS5Padding"); cipher.init(1, secretkeyspec1, algorithmparameters); mac = Mac.getInstance("HmacMD5"); mac.init(secretkeyspec); return mac.doFinal(cipher.doFinal(getBytes())); } Απλα να ξρεις πως πλεον ο κωδικας σου θα ειναι πλεον πολυ ασταθης σε περιπτωση run-time error
empeiros1987 Δημοσ. 27 Οκτωβρίου 2009 Μέλος Δημοσ. 27 Οκτωβρίου 2009 ευχαριστώ!θα το δοκιμάσω!να σαι καλά! ---------- Το μήνυμα προστέθηκε στις 17:03 ---------- φίλε δυστυχώς και πάλι δε δουλεύει..
georgemarios Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 τι σου λεει τωρα; δεν εχω compiler εδω, πρεπει να μου λες τα μυνηματα του compiler
javavall Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 Υπάχρουν και online compilers για την java
georgemarios Δημοσ. 27 Οκτωβρίου 2009 Δημοσ. 27 Οκτωβρίου 2009 anyway το θεμα λυθηκε μεσω pm........ τα βαλαμε σε try/catch bloks και ολα οκ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.