Visualizzazione dei risultati da 1 a 8 su 8

Discussione: class e metodi

  1. #1

    class e metodi

    Date un pò un occhiata . Il mio scopo è quello di creare un metodo che inserisca una stringa in MSH tra due || individuati dall 'indice.
    Questo viene fatto con un metodo che ho chiamato Add. Le mie perplessità sono due :

    1) Quando inizializzo la Stringa MSH in Add mi si presenta con null perchè?

    2) Se dovessi riuscire ad iserire la stringa un ulteriore operazione
    di Add mi farebbe perdere quella precedente?


    // Package HL7

    package hl7.pkg;
    import java.net.*;
    import java.io.*;
    import java.lang.*;


    public class MessageHL7 {
    boolean flag= true;
    private static String QRD = "QRD|||||||||||||/n";
    private String QRF = "QRF|||||||||||/n";
    public String fields = "" ;
    private char delim = '|' ;
    private char run = ' ';
    private char run_succ=' ';
    public static String MSH;

    //inizializza i campi
    public void MessageHL7()
    {
    String MSH = "MSH|^~\\&||||||||||||||||||||/n";
    }


    // Metodo

    public String Add(String message , String field , int pos ) {
    int num_sep=0;
    // inserire swicht
    System.out.println(message+field+pos);
    if( message.equals("MSH"))
    message=MSH;
    int posizione = 0;

    while (flag==true)
    {
    run = message.charAt(posizione);
    System.out.println("il carattere prelevato è " +run);
    if ( run==delim)
    {
    num_sep++;
    run_succ=message.charAt(posizione+1);
    if (run_succ==delim && num_sep==pos )
    {
    String destra = message.substring(posizione+1);
    String sinistra = message.substring(0,posizione);
    message = sinistra+field+destra;
    MSH=message;
    flag=false;
    }
    else if (run_succ==delim && num_sep==pos ) flag=false;
    System.out.println("Campo già esistente o non desiderato");


    }
    posizione++;
    }

    return message;
    }
    }
    /* @(#)Clientadt.java 1.0 04/04/12 */

    import hl7.pkg.*;
    import java.net.*;
    import java.io.*;
    public class Clientadt {

    public static void main(String argv[]) {
    try
    {
    String segmento = new String ();
    MessageHL7 hl7 = new MessageHL7 ();
    segmento = hl7.Add("MSH","CUP",2);
    segmento = hl7.Add("MSH","Ciccione",4);
    System.out.println (" Il segmento è " + segmento);
    }
    ....

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Prima di tutto manca il linguaggio di programmazione nel titotlo del Post

    Prova questo
    codice:
    .....
     public static String MSH;
     static
     {
        MSH = "MSH|^~\\&||||||||||||||||||||/n";
     }
    
    //inizializza i campi
    public void MessageHL7()
    {
    }
    
    ...........

  3. #3
    NIENTE NON FUNZIA

    Anche un semplice metodo del tipo:

    public Class MessageHL7
    {
    private String MSH;

    public void MessageHL7 ()
    {
    String MSH = "MSH|||||||||||||||||||||/n";
    }

    public String prova ()
    {
    return MSH;
    }
    }

    MI RITORNA null!!!!!!!!!

  4. #4
    Originariamente inviato da postgresql
    NIENTE NON FUNZIA

    Anche un semplice metodo del tipo:

    public Class MessageHL7
    {
    private String MSH;

    public void MessageHL7 ()
    {
    String MSH = "MSH|||||||||||||||||||||/n";
    }

    public String prova ()
    {
    return MSH;
    }
    }

    MI RITORNA null!!!!!!!!!
    nel costruttore della classe ridefinisci una variabile MSH, che quindi ricopre (come visibilità) il mebro della classe.
    Cioè quando nel costruttore fai
    String MSH = "MSH|||||||||||||||||||||/n";
    non stai assegnando il valore al membro privato e statico della classe, ma ad una variabile con lo stesso nome che hai definito lì dentro (e che quindi muore lì).
    Dovresti fare semplicemente
    MSH = "MSH|||||||||||||||||||||/n";


    ciao


  5. #5
    provo ti faccio sapere

  6. #6
    nulla non funzia

  7. #7
    ci sono 30000000000000000 esempi da internet fatti cosi' e a me non va .Uso JDK 1.4 della SUN .

  8. #8
    risolto

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.