Ich möchte ein Java-Projekt erstellen, das Werte von einer Methode übernimmt und dann diese Werte an eine andere Methode übertragen werden und dann die Werte ausdrucken, wenn ich es setze in den gescannten Werten in der (void main) und verwenden Sie die checkLines
Methode, es würde funktionieren. Aber ich möchte eine (Read) -Methode erstellen, die die Werte übernimmt, und diese Werte werden an eine Methode (checkLines) übergeben, um die Werte zu erhalten. Problem ist, dass die zweite Methode die Scannerwerte nicht liest.Java-Werte von einer Void-Methode dann zu einer anderen Methode
import java.util.Scanner;
public class Somethin {
static double a1,b1,a2,b2;
public static void main(String[] args) {
Read(a1,b1,a2,b2);
checkLines(a1,b1,a2,b2);
}
public static void Read(double a, double b, double c , double d){
Scanner scan = new Scanner(System.in);
System.out.print("Please enter a1: ");
double a1 = scan.nextDouble();
System.out.print("Please enter b1: ");
double b1 = scan.nextDouble();
System.out.print("Please enter a2: ");
double a2 = scan.nextDouble();
System.out.print("Please enter b2: ");
double b2 = scan.nextDouble();
scan.close();
}
public static void checkLines (double a1 , double b1, double a2, double b2){
if (a1 == a2) {
System.out.println("Line 1 and Line 2 are parallel");
}
if (a1 * a2 == -1){
System.out.println("Line 1 and Line 2 are perpendicular");
} else {
System.out.println(" The lines are intersecting");
System.out.println(" There points of intersection are");
double x = ((b2 - b1)/(a2-a1));
double y = (a1*(x) + b1);
System.out.println(" X = " +x);
System.out.println(" y = " + y);
}
}
}
Gibt es einen Grund, warum Ihre Methoden ungültig sein müssen? Oder rufen Sie checkLines ab dem Ende von Read einfach auf – Eabryt
Ihre 'Read'-Methode deklariert ihre eigenen lokalen Variablen - also werden Ihre Felder nicht zugewiesen. –