theodorekaf1 Δημοσ. 12 Ιανουαρίου 2018 Δημοσ. 12 Ιανουαρίου 2018 (επεξεργασμένο) Έχω κάνει ένα πρόγραμμα που να μετατρέπει ένα αλφαριθμητικό σε κώδικα Μorse! Το πρόβλημά μου είναι ότι το ΚΕΝΟ κάθε λέξης το έχω βάλει να το αντικαθιστά με το "\n". Αλλά αντί την κάθε λέξη να μου τη παρουσιάζει σε διαφορετική γραμμή μετά στη κωδικοποίηση, μου τα δείχνει όλα σε μια γραμμή και χωρίς κενό! Αναφορά σε κείμενο import acm.program.*; import java.util.*; public class Morse extends ConsoleProgram { public void run() { println("This program translates a line into Morse code."); while(true){ String newText = ""; String text=readLine("Enter English text:"); if (text.length()==0) break; text = text.toUpperCase(); for (int i=0; i< text.length() ; i++){ for(int j=0; j< 26 ; j++){ if (text.charAt(i)==LETTERS[j]) { newText= newText+MORSE[j]; } } } println (newText); } } private static final Character [] LETTERS = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',' '}; private static final String [] MORSE = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.","....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.","--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-","-.--", "--..","\n"}; } Επεξ/σία 13 Ιανουαρίου 2018 από theodorekaf1
stergem Δημοσ. 13 Ιανουαρίου 2018 Δημοσ. 13 Ιανουαρίου 2018 15 ώρες πριν, theodorekaf1 είπε for(int j=0; j< 26 ; j++) Νομίζω πρέπει να πας μέχρι <27 (αφού είναι 26 γράμματα + 1 το κενό). 1 1
defacer Δημοσ. 14 Ιανουαρίου 2018 Δημοσ. 14 Ιανουαρίου 2018 Ακόμα καλύτερα είναι να έχεις το αντίστοιχο του text.length() αντί για hardcoded 26, τότε δε θα σου είχε συμβεί αυτό το bug εξαρχής. Και ακόμα ακόμα καλύτερα θα ήταν να έχεις ένα Dictionary από string σε string αντί για δυο πίνακες, τότε δε θα χρειαζόσουν ούτε καν το δεύτερο for. 1 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα