Was mach ich beim Import falsch ?



  • Ich habe eine Klasse (Input) geschrieben die ich nun in einer anderen Klasse verwenden möchte (SendMail). In der Klasse Input ist derzeit nur ein public void drinnen (read).

    // Input.class
    package fakem;
    import java.util.Scanner;
    
    public class Input 
    {
    
      public void read()
      {
       String mes[] = new String[100];
       Scanner scan = new Scanner(System.in);
       String host, login, Pwd, ffrom, to, Subj;
       int i;
    
       System.out.println("Host:");
       host = scan.nextLine();
    
       System.out.println("Login:");
       login = scan.nextLine();
    
       System.out.println("Password:");
       Pwd = scan.nextLine();
    
       System.out.println("Sender:");
       ffrom = scan.nextLine();
    
       System.out.println("Reciever:");
       to = scan.nextLine();
    
       System.out.println("Subject:");
       Subj = scan.nextLine();
    
       System.out.println("Message:");
    
       for(i=0; true; i++)
       {
            mes[i] = scan.nextLine();
            if( i == 99 || mes[i].equals("send"))
                {
                    break;
                }
       }
      }
    }
    
    package fakem;
    import fakem.Input;
    
    public class SendMail {
      Input header = new Input();
      header.read(); 
    
    }
    

    Aber ich kann die read Funktion nicht aufrufen was mach ich falsch?

    ich freue mich auf eine hoffentlich baldige Antwort und bedanke mich im voraus dafür
    Raavgo 😃



  • Du kannst

    header.read();
    

    nur aus einer anderen Methode aufrufen. Wenn du z.B. moechtest, dass header.read() zu Beginn aufgerufen wird kannst du den Aufruf in den Konstruktor verlegen:

    public class SendMail { 
        Input header = new Input(); 
    
        public SendMail()
        {
             header.read();
        }
    }
    

    *Edit
    Das File, in dem die Klasse Input definiert ist, sollte uebringes nicht wie in deinem Kommentar steht Input.class sondern Input.java heissen.



  • icarus2 schrieb:

    Du kannst

    header.read();
    

    nur aus einer anderen Methode aufrufen. Wenn du z.B. moechtest, dass header.read() zu Beginn aufgerufen wird kannst du den Aufruf in den Konstruktor verlegen:

    public class SendMail { 
        Input header = new Input(); 
        
        public SendMail()
        {
             header.read();
        }
    }
    

    *Edit
    Das File, in dem die Klasse Input definiert ist, sollte uebringes nicht wie in deinem Kommentar steht Input.class sondern Input.java heissen.

    ok und das mach ich dann mit

    public static void main(String[] args)
    

    genau so?



  • Was meinst du? Ich verstehe deine Frage nicht ganz?



  • hat sich erledigt danke 😉


Anmelden zum Antworten