Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese di utilizzo intensivo e l'analisi di oltre 50 scatti, l'articolo offre una panoramica approfondita di Nintendo Switch 2. Vengono esaminate le caratteristiche che la definiscono, con un focus sulle nuove funzionalità e un riepilogo dettagliato delle specifiche tecniche che ne determinano le prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-02-2009, 15:28   #1
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
[J2ME (ma anche JAVA)] Separare consonanti e vocali da una stringa.

L'esercizietto è facilissimo, io gli do in pasto una stringa tramite una textfield e questa classe dovrebbe tirarmi fuori una stringa che concateni consonanti e vocali separatamente. Purtroppo non funziona, arriva fino al confronto e qua mi fallisce miseramente, restituendomi un simpaticissimo Java.Lang.NullPointerException.
Qualcuno riesce a risalire all'arcano? Ho provato di tutto, ho letto di tutto, ma non ho trovato nulla che mi aiutasse. A me sembra tutto corretto e terribilmente logico, ma c'è qualcosa che non mi torna.
Potete darmi una mano?

Codice:
public String calcolaNome(String stringa) {
		String consonanti = null;
		String vocali = null;
		String temp = null;
		int lunghezza;
		
		lunghezza = stringa.length();
		System.out.println("LUNGHEZZA: " + lunghezza);
		System.out.println("STRINGA: " + stringa);
		for(int i = 0; i < lunghezza; i++) {
			System.out.println("CARATTERE: " + stringa.substring(i, i+1));
			temp = stringa.substring(i, i+1);
			System.out.println("TEMP: " + temp);
			//FINO A QUA GIRA, POI NULLPOINTER EXCEPTION
			if (isVocale(temp) == true) {
				System.out.println("VOCALI: " + vocali);
				vocali.concat(temp);
			} 
			else {
				consonanti.concat(temp);
				System.out.println("CONSONANTI: " + consonanti);
			}		
		}
		return consonanti.concat(vocali);
	}
	
	public boolean isVocale(String stringa) {
		if (stringa.equals("a") == true) {
			return true;	
		}
		else {
			return false;
		}
	}
PS: la classe che si occupa di calcolare la vocale attualmente fa il confronto con la sola lettera "a". Prendetelo per buono, ma inserire tutti e 10 i campi e doverli cambiare ogni volta non mi andava
__________________
"Quiquid Latine Dictum Sit, Altum Sonatur" 😐
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2009, 15:35   #2
Donbabbeo
Senior Member
 
L'Avatar di Donbabbeo
 
Iscritto dal: Jul 2006
Messaggi: 8152
Uhm... sembra che il problema sia nell'impossibilità di usare concat tra stringhe

Cioè se io faccio
stringa.concat(stringa2)
con stringa = "mario" e stringa2 = "franco" non funziona dandomi NullPointerException,
mentre se faccio stringa += stringa2 ottengo "mariofranco".

Non dovrebbe funzionare in entrambi i metodi?
__________________
"Quiquid Latine Dictum Sit, Altum Sonatur" 😐
Donbabbeo è offline   Rispondi citando il messaggio o parte di esso
Old 07-02-2009, 02:28   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2773
Ciao, non è proprio così: gli oggetti String sono immutabili, questo significa che se fai
Codice:
String a="A"
String b="B"
a.concat(b);
l'ultimo concat non modifica a ma restituisce un nuovo oggetto String. Quindi il modo corretto per usarlo nel tuo caso è
Codice:
a=a.concat(b);
che comunque come hai già notato è uguale a
Codice:
a+=b;
Riguardo alla nullPointerException del tuo ultimo esempio non saprei, mi sembra un po' strano, prova a postare l'esempio completo. A me questo funziona (e mi sembra normalissimo):
Codice:
public class Prova{
	public static void main(String[] args){
		String stringa="mario",stringa2="franco";
		stringa.concat(stringa2);
	}
}
Comunque sul docs ho trovato questo:
Quote:
Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a NullPointerException to be thrown.
riferito alla classe String. Quindi gli errori che ottieni potrebbero essere dovuti a questo
wingman87 è online   Rispondi citando il messaggio o parte di esso
 Rispondi


Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
vivo X200 FE: il top di gamma si è fatto tascabile? vivo X200 FE: il top di gamma si è fatto ...
Xiaomi entra nel tennis: sarà for...
Follie su Amazon: OLED a metà pre...
iPhone 17 Pro in arrivo in quattro varia...
A soli 104€ il robot Lefant M330Pro che ...
Zuckerberg costruisce datacenter... nell...
F5 Application Delivery and Security Pla...
Rivoluzione ai vertici di Threads: Mosse...
Dopo ChatGPT, Gemini alza bandiera bianc...
Netflix supera ogni record, ma non &egra...
Sbuca dai meandri di Amazon un hard disk...
Intelligenza artificiale e Bitcoin nel m...
Più o meno 300€ in tasca e voglia...
Boom di Linux: supera il 5% negli USA me...
Potere, violenza, sesso e avidità...
Gli effetti collaterali dei dazi di Trum...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v