Domanda Risolto Codice ASCII stellina vuota a piena

Stato
Discussione chiusa ad ulteriori risposte.

elcondor

Utente Bronze
28 Settembre 2020
48
13
3
24
Ultima modifica da un moderatore:
Salve. Ho il seguente codice. Nella stampa mi serve la stellina vuota o piena.
Ho preso il codice ASCII; u2605 e u 2606 per la stellina. Quando vado a stampare
mi stampa i punti interrogativi. E' un problema di eclipse?
Java:
import java.lang.System;
public enum Rating {
    NOT_RATED("\u2606\u2606\u2606\u2606\u2606"),   // questi codici dalla tabella ascii sono stellina vuota e stellina piena
    ONE_STAR("\\u2605\u2606\u2606\u2606\u2606"),
    TWO_STAR("\u2605\u2605\u2606\u2606\u2606"),
    THREE_STAR("\u2605\u2605\u2605\u2606\u2606"),
    FOUR_STAR("\u2605\u2605\u2605\u2605\u2606"),
    FIVE_STAR("\u2605\u2605\u2605\u2605\u2605");
    private String stars;
    private Rating(String stars) {
        this.stars = stars;
    }
 
    public String getStars() {
        return stars;
    }
}
 
Se sei su windows apri il tuo programma dalla powershell (non da cmd.exe). Se sei su linux usa un terminal emulator che supporta utf8. In generale, abituati ad eseguire i programmi senza passare dall'IDE: i programmi che hanno una GUI si eseguono con il doppio click sull'eseguibile e i programmi che non hanno un'interfaccia grafica si eseguono attraverso un terminal emulator.

Il codice è corretto, hai solo messo uno slash di troppo su ONE_STAR
Codice:
NOT_RATED => ☆☆☆☆☆
ONE_STAR => \u2605☆☆☆☆
TWO_STAR => ★★☆☆☆
THREE_STAR => ★★★☆☆
FOUR_STAR => ★★★★☆
FIVE_STAR => ★★★★★
 
  • Mi piace
Reazioni: JunkCoder
Ultima modifica:
Se sei su windows apri il tuo programma dalla powershell (non da cmd.exe). Se sei su linux usa un terminal emulator che supporta utf8. In generale, abituati ad eseguire i programmi senza passare dall'IDE: i programmi che hanno una GUI si eseguono con il doppio click sull'eseguibile e i programmi che non hanno un'interfaccia grafica si eseguono attraverso un terminal emulator.

Il codice è corretto, hai solo messo uno slash di troppo su ONE_STAR
Codice:
NOT_RATED => ☆☆☆☆☆
ONE_STAR => \u2605☆☆☆☆
TWO_STAR => ★★☆☆☆
THREE_STAR => ★★★☆☆
FOUR_STAR => ★★★★☆
FIVE_STAR => ★★★★★
Si ho corretto ma esce sempre con tutti i punti interrogativi.
Messaggio unito automaticamente:

Non funziona , forse è una questione della consolle, non va... Escono sempre i punti interrogativi
 
Uso in eclipse. Il tutto in eclipse, perchè è un programma con molte classi ed ha un main finale dove deve stampare le stelline. Il problema è solo sulla stampa delle stelline poi funziona tutto ....
 
Uso in eclipse. Il tutto in eclipse, perchè è un programma con molte classi ed ha un main finale dove deve stampare le stelline. Il problema è solo sulla stampa delle stelline poi funziona tutto ....
E allora non hai corretto. Non usare eclipse per eseguire il programma, usa eclipse per programmare, per compilare, per debuggare e per fare tutto il resto. Dopo che hai compilato il programma (usando eclipse) apri un terminal emulator ed eseguilo. Su windows 10 ci sono due terminal emulator: uno si chiama cmd e l'altro si chiama powershell. Tu devi usare la powershell.

Apri la powershell, cd C:/bla/bla/bla e java Pippo dove Pippo (non pippo.java e non Pippo.class) è la classe che contiene il main.

Gli IDE non sono lo strumento per eseguire il programma. I programmi si eseguono o con il doppio click sull'exe (se hanno un'interfaccia grafica) o attraverso un terminal emulator (se non hanno nessuna interfaccia grafica). Usare l'IDE è un metodo poco ortodosso per eseguire il programma.
 
  • Mi piace
Reazioni: 0xbro
Perchè scusami non posso eseguirlo in Eclipse? Perchè devo eseguirlo con powershell o cmd? A me serve fare tutto in Eclipse o NetBeans.
 
Perchè scusami non posso eseguirlo in Eclipse? Perchè devo eseguirlo con powershell o cmd? A me serve fare tutto in Eclipse o NetBeans.
Per eseguirlo con eclipse devi configurare eclipse per utilizzare utf8 all'interno della sua console. Non ho idea di come si faccia né se si possa fare, non uso eclipse e netbeans. Controlla nelle impostazioni.

In ogni caso il programma è corretto e se lo esegui come se non fosse tuo (i.e., senza utilizzare un IDE, come se non avessi nessun codice sorgente ma solo il compilato bytecode) all'interno di un terminal emulator che supporta utf8 (e.g., powershell) dovrebbe funzionare correttamente anche sul tuo pc.
 
Ultima modifica:
Si si con il terminale funziona. E' solo con eclipse o net beans che non va. IN effetti si si deve configurare eclipse per utilizzare utf8.
Ok grazie.
Messaggio unito automaticamente:

Si funziona, si deve cambiare il Text file encoding di eclipse. Da GBK cambiarlo in UTF8 e tutto funziona. Per chi interessato.
Il tutto da Eclipse menù Windows poi Preference . Ok Grazie
 
Stato
Discussione chiusa ad ulteriori risposte.