Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    50

    Iterare i caratteri di una stringa ed inserirli in un array bidimensionale

    Sto sviluppando il gioco "ruota della fortuna", ho problemi nell'inserimento della frase misteriosa nel tabellone.
    Il mio tabellone è un array bidimensionale di char, con dimensioni 4x12. Sono riuscito tramite l'interfaccia CharacterIterator ad iterare la frase ed inserirla nell'array, ma sorge il problema dello spezzamento delle parole...come posso risolverlo? vorrei anche posizionare le parole della frase al centro del tabellone se la frase lo permette.
    codice:
    private void inserisciFrase() {
    
    		if (fraseMisteriosa.length() <= LIMITE) {
    
    			CharacterIterator it = new StringCharacterIterator(" "+fraseMisteriosa.getTesto());
    			for (char ch=it.first(); ch != CharacterIterator.DONE; ch=it.next()) {
    
    			
    			for (int r = 0; r < tabellone.length; r++) {
    				for (int c = 0; c < tabellone[r].length; c++) {
    					
    					if(it.current()!= CharacterIterator.DONE){
    					tabellone[r][c]=it.next();
    					}
    					
    					}
    				}
    			}
    		}
    
    		else {
    			System.out
    					.println("Errore : non sono ammesse frasi che hanno più di 48 catteri");
    		}
    
    	}
    la frase misteriosa è
    codice:
    Questo è solo un esempio
    l'output prodotto
    codice:
    |Q| |u| |e| |s| |t| |o| | | |è| | | |s| |o| |l| 
    |o| | | |u| |n| | | |e| |s| |e| |m| |p| |i| |o| 
    |\uffff| |.| |.| |.| |.| |.| |.| |.| |.| |.| |.| |.| 
    |.| |.| |.| |.| |.| |.| |.| |.| |.| |.| |.| |.|
    inoltre CharacterIterator mi aggiunge un carattere strano nell'array.

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    50
    ho risolto così:
    codice:
            /**
    	 * Inserisce una frase nel tabellone
    	 */
    	private void inserisciFrase() {
    
    		if (fraseMisteriosa.length() <= LIMITE) {
    
    		caratteriFrase= fraseMisteriosa.getTesto().toCharArray();
    
    		int count=0;
    		
    			// scorro l'array [][] tabellone
    			for (int r = 0; r < tabellone.length; r++) {
    				for (int c = 0; c < tabellone[r].length; c++) {
    					
    					
    					// inserisco ogni carattere nel tabellone
    					if(count<caratteriFrase.length)
    					tabellone[r][c]=caratteriFrase[count++];
    	
    				}
    			}
    			}
    			else
    				System.out.println("Errore : non sono ammesse frasi che hanno più di 48 catteri");
    
    		}
    Output:
    codice:
    |Q|u|e|s|t|o| |è| |s|o|l|
    |o| |u|n| |e|s|e|m|p|i|o|
    | | | | | | | | | | | | |
    | | | | | | | | | | | | |
    ma rimane sempre il problema dello spezzamento delle parole...come posso risolverlo? suggerimenti?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.