Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Έχω κάνει ένα πρόγραμμα που να μετατρέπει ένα αλφαριθμητικό σε κώδικα Μ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"};
}    

 

 

Επεξ/σία από theodorekaf1
Δημοσ.

Ακόμα καλύτερα είναι να έχεις το αντίστοιχο του text.length() αντί για hardcoded 26, τότε δε θα σου είχε συμβεί αυτό το bug εξαρχής.

Και ακόμα ακόμα καλύτερα θα ήταν να έχεις ένα Dictionary από string σε string αντί για δυο πίνακες, τότε δε θα χρειαζόσουν ούτε καν το δεύτερο for.

 

  • Like 1
  • Thanks 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...