2017-03-10 2 views
-2

hier in einer anderen Datei ausgeführt wird, die Datei, die die Methode enthält:Java-Methode nicht

package getmethodical; 

import java.util.Scanner; 

public class GetMethodical { 

    public static void main(String[] args) { 

    } 

    // Validate INT input and checks if it's in range 
    public static int getRangedInt(Scanner pipe, String prompt, int low, int high){ 
     System.out.println("Inside getRangedInt"); 
     System.out.println(prompt); 
     String trash = ""; 
     int value = -5; 
     boolean flag = false; 

     while(!flag){ 
      if(pipe.hasNextInt()){ 
       value = pipe.nextInt(); 
       pipe.nextInt(); 
       if(value >= low && value <= high){ 
        flag = true; 
       }else{ 
        System.out.println("Please enter a number from 0 to 100"); 
       } 
      }else{ 
       trash = pipe.nextLine(); 
       System.out.println(trash + " is not a valid input, please enter a number"); 
       pipe.nextLine(); 
      } 
     } 
     return value; 
    } 
} 

In einer anderen Java-Datei Ich versuche, die Methode aufzurufen:

package getmethodical; 

import java.util.Scanner; 

public class BirthDateTime { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     Scanner pipe = new Scanner(System.in); 
     // Year 
     String prompt = "Enter input: "; 
     int high = 10; 
     int low = 0; 
     GetMethodical.getRangedInt(pipe, prompt, low, high); 
    } 

} 

Ich möchte Rufen Sie getRangedInt auf, das eine Klasse in einer Java-Hauptdatei in einer anderen Java-Hauptdatei ist. Wenn ich den zweiten Block ausführe, wird es erfolgreich ausgeführt aber es ruft die Methode nicht auf.

Wenn ich die Methode in der Hauptklasse der Datei anruft ist es in etabliert und dann in einer anderen Datei es funktioniert .. Dies ist wirklich verwirrend, um über Text zu schreiben, so lassen Sie mich wissen, wenn Sie noch etwas benötigen

+0

Definiere "es ruft die Methode nicht auf". Wenn es ohne Ausnahmen ausgeführt wird, ruft es auf, was auch immer die Methode auf dem Klassenpfad der Laufumgebung basiert. –

+0

@DaveNewton die erste Zeile des Textes druckt etwas und es wird nicht gedruckt, so nehme ich an, dass die Klasse, die ich anrufe, entweder ungenau genannt wird oder mir eine grundlegende fehlt. – Gprice1148

+0

Ihr Code läuft in meiner Eclipse einwandfrei. Was ist die Fehler- oder Ausnahmebedingung? Ausgabe ich bekam "Inside getRangedInt Eingabe eingeben:" – Yang

Antwort

0

Ihre Hauptmethode ist Scanner pipe = new Scanner(System.in); Dies wird eine Eingabe von der Konsole erwarten. Kommentieren Sie diese Zeile und schreiben Sie diesen Pipe-Wert für die folgende Methode fest, um zu sehen, ob Sie etwas als Ausgabe erhalten. GetMethodical.getRangedInt(<some value>, prompt, low, high);