Witam, od razu powiem, że w programowaniu jestem zielony. Muszę na zajęcia napisać program który liczy współrzędne. W jednej klasie mam głównie tekst i pobieranie danych :
public class Konsola {
public static void main(String[] args) {
// TODO Auto-generated method stub
Punkt punkt = new Punkt();
Obliczenia obl = new Obliczenia();
Scanner dane = new Scanner(System.in);
System.out.println(" Program do transformacji między układami z BLH na XYZ lub XYZ na BLH");
System.out.println(" Podaj między jakimi układami chcesz przeliczyć:");
System.out.println("1. XYZ -> BLH");
punkt.uklad = dane.nextDouble();
if (punkt.uklad == 1)
{
System.out.println(" Program używa współrzędnych w ukłądzie 2000 np: X = 5968899,493 ");
System.out.println(" Podaj X:");
punkt.X = dane.nextDouble();
System.out.println(" Podaj Y:");
punkt.Y = dane.nextDouble();
System.out.println(" Podaj Z:");
punkt.Z = dane.nextDouble();
System.out.println(" Jakiej chcesz użyć elipsoidy:");
System.out.println("1. Krasowskiego");
System.out.println("2. WGS-84");
punkt.elipsoida = dane.nextDouble();
if (punkt.elipsoida == 1)
{
System.out.println("1. Krasowskiego");
// System.out.printf(" Współrzędna B= %.3f%n", + obl.B1());
// System.out.printf(" Współrzędna L= %.3f%n", + obl.L1());
// System.out.printf(" Współrzędna H= %.3f%n", + obl.H1());
}
else if (punkt.elipsoida == 2)
{
System.out.println("2. WGS-84");
System.out.printf(" Współrzędna XY1= %.3f%n", + obl.XY1());
System.out.printf(" Współrzędna XY2= %.3f%n", + obl.XY2);
// System.out.printf(" Współrzędna L= %.3f%n", + obl.L2());
// System.out.printf(" Współrzędna H= %.3f%n", + obl.H2());
// System.out.printf(" Współrzędna N= %.3f%n", + obl.N2());
}
else
{
System.out.print("Nie wybrałeś elipsoidy!");
}
}
}
}
w innej klasie mam przechowywane dane :
import java.util.Scanner;
import static java.lang.Math.*;
import java.math.BigDecimal;
public class Punkt {
double uklad;
public static double X;
public static double Y;
static double Z;
double elipsoida;
static double B;
static double L;
static double H;
static double Bp = 0.45379;
static double Lp = 0.88397;
//1. Krasowski
static int a1 = 6378245;
static double b1 = 6356863.019;
//e^2
static double e1 = 0.00669342;
//2. WGS-84
static int a2 = 6378137;
static double b2 = 6356752.314;
//e^2
static double e2 = 0.00669438;
static int potega = 2;
}
a w trzeciej klasie mam obliczenia :
import java.util.Scanner;
import static java.lang.Math.*;
import java.math.BigDecimal;
public class Obliczenia extends Punkt{
double XY1()
{
return X+Y;
}
double XY2 = X+Y;
}
Moje pytanie brzmi :
Jak użyć gdzieś później XY1 ponieważ jedynie to mi wypluwa jakieś liczby, XY2 wypluwa mi 0 :(