PDA

View Full Version : [Java]Aiuto per la definizione di metodo


snowboard_extr3me
03-01-2008, 16:54
Salve ragazzi!Sono nuovo alla programmazione,stò scrivendo per l'uni un programma che simula una rubrica in linguaggio java.
Con questo metodo voglio prendere in input solo caratteri dell'alfabeto poichè andrò a lavorare su un campo nome,definito come stringa,il tipo di ritorno infatti è una Stringa.Questo è un approccio che ho provato a dare alla cosa ma non funziona bene,per la precisione mi controlla solo il primo carattere.
c'è da puntalizzare cmq che nel corpo dell'if() arrivo dolo alla d ma lo faccio solo per prova,in verità dovrei arrivare fino alla z ma non andava bene e l'ho cancellato per semplificarmi la vita.ecco il codice grazie per l'aiuto!

public String inserisciNome(){
InputStreamReader lettore=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(lettore);
try { String nome = new String(input.readLine());
try{
int lunghezza = nome.length();
char[] ac = new char [lunghezza];
nome.getChars(0,lunghezza,ac,0);
int i = 0; boolean avanti=true;
while(avanti) {for (i=0;i<lunghezza;i++) {if ( ac[i]=='a'||ac[i]=='b'||ac[i]=='c'||ac[i]=='d') {System.out.println("Carattere ok"); avanti=false;}
else {System.out.println("Caratteri non ok"); avanti=true;}}}




}

snowboard_extr3me
03-01-2008, 17:03
Questa invece è la classe principale col metodo main che usa il metodo di sopra
import java.io.File; // Gestione defi files
import java.io.FileOutputStream; // Flusso in uscita
import java.io.IOException; // Errori di I/O
import java.io.PrintStream; // Flusso per la stampa
import java.util.Iterator; // Strumento per la scanione di liste
import java.util.List; // Lista di oggetti
import org.jdom.Document; // Documento XML
import org.jdom.Element; // Singolo elemento XML
import org.jdom.JDOMException; // Errori sulla gestione XML
import org.jdom.input.SAXBuilder; // Costruttore di documenti XML
import org.jdom.output.XMLOutputter; // Scrittore di documenti XML
import org.jdom.output.Format; // Formato
/*
* ProvaXML.java
*
* Created on 7 dicembre 2007, 20.30
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

/**
*
* @author Alfredo Conte
*/
public class ProvaXML {

public static void main(String[] args) throws IOException, JDOMException {
if (args.length != 1) { // Controllo dell'esistenza di un parametro
System.err.println("Uso: java XMLWrite [file.xml]"); // Errore sul numero dei parametri
return; // Interruzione per errore del flusso delle operazioni
}
String file = args[0];
Numero n=new Numero();
ILTEMPO ora = new ILTEMPO();
//Aggiungi add=new Aggiungi();
int scelta=0;
int decidi=0;
do{System.out.println(ora.cheora());
System.out.println("Fai la scelta");
System.out.println("1 Per l'inserimento");
System.out.println("2 Per la cancellazione");
System.out.println("3 Per la visualizzazione");
System.out.println("4 Per fine");
scelta=n.leggiNumero();
switch(scelta){

case 1:

Element rubrica=new Element("Rubrica");

do{
System.out.println("MENU INSERIMENTO");
System.out.println("1 Per inserire");
System.out.println("2 Per torna al precedente");
decidi=n.leggiNumero();
switch(decidi){

case 1:
Element nominativo =new Element("nominativo");

Element nome = new Element("nome");
Persona name=new Persona();
nome.setText(name.inserisciNome());

Element cognome = new Element("cognome");
Persona surname=new Persona();
cognome.setText(surname.inserisciCognome());

Element indirizzo = new Element("indirizzo");
Persona address=new Persona();
indirizzo.setText(address.inserisciIndirizzo());

Element numero = new Element("NumeroTelefono");
Persona number=new Persona();
numero.setText(number.inserisciNumeroTel());

Element affinita = new Element("Affinità");
Persona affinity=new Persona();
affinita.setText(affinity.inserisciAffinita());

nominativo.addContent(nome);
nominativo.addContent(cognome);
nominativo.addContent(indirizzo);
nominativo.addContent(numero);
nominativo.addContent(affinita);

rubrica.addContent(nominativo);
break;

case 2:
break;
}
}while(decidi!=2);

XMLOutputter xmlOut = new XMLOutputter();
xmlOut.setFormat(Format.getPrettyFormat());
FileOutputStream output = new FileOutputStream(new File(file));
xmlOut.output(new Document(rubrica),output);

break;

case 4:
System.out.print("Finito esco dal programma");
break;
}

}while(scelta!=4);





}
}

snowboard_extr3me
03-01-2008, 20:56
up

andbin
03-01-2008, 21:04
Con questo metodo voglio prendere in input solo caratteri dell'alfabeto poichè andrò a lavorare su un campo nome,definito come stringa,il tipo di ritorno infatti è una Stringa.Il modo più semplice per controllare il formato di una stringa è usare le espressioni regolari.

String s = "pippo";

// La stringa deve contenere uno o più caratteri nel range a-z o A-Z.
boolean valid = s.matches ("[a-zA-Z]+");