私はアクセサとミューテータを作成するクラスを作成しています。しかし、クラスを使用するために私のプログラムを実行するとき、何も返されません、または私のプログラムは何も出力しません。Java(Eclipse)クラスのreturn文が機能しない
私はクラス変数を作成し、入力したクラスにそれらを送り、変数を返しました。
私の理想的な出力は、関数呼び出しが変数を返すことです。ここでは例えば (getLatitudeだろう出力緯度変数)
は私のクラスのコードは次のとおりです。ここで
package practiceProblems;
import stdlib.StdOut;
public class GPSPosition implements Comparable <GPSPosition> {
// Private global variables
private Double Latitude;
private Double Longitude;
private Double Altitude;
// Constructor 1
public <Item extends Comparable<? super Item>> GPSPosition() {
Latitude = 0.0;
Longitude = 0.0;
}
// Constructor 2
public <Item extends Comparable<? super Item>> GPSPosition (Double lat, Double lon, Double alt) {
this.Altitude = alt;
this.Latitude = lat;
this.Longitude = lon;
if (lat < -90 || lat > 90) {
throw new IllegalArgumentException ("NOPE!");
}
if (lon < -180 || lon > 180) {
throw new IllegalArgumentException ("NOPE!!");
}
if (alt < 0) {
throw new IllegalArgumentException ("NOPE!!!");
}
}
// Latitude Accessor
public Double getLatitude() {
return this.Latitude;
}
// Longitude Accessor
public Double getLongitute() {
return this.Longitude;
}
// Altitude Accessor
public Double getAltutude() {
return this.Altitude;
}
// Mutator for Latitude
public void setLatitude (Double Latitude) {
this.Latitude = Latitude;
}
// Mutator for Longitude
public void setLongitude (Double Longitude) {
this.Longitude = Longitude;
}
// Mutator for Altitude
public void setAltitude (Double Altitude) {
this.Altitude = Altitude;
}
// Compare to method
public int compareTo (GPSPosition that) {
if (this.Latitude.compareTo (that.Latitude) > 0) {
return 1;
}
if (this.Latitude.compareTo (that.Latitude) < 0) {
return -1;
}
return that.Latitude.compareTo (this.Latitude);
}
// toString method
public String toString() {
String latOutput = "";
String longOutput = "";
if (this.Latitude < 0) {
latOutput = "S";
} else {
latOutput = "N";
}
if (this.Longitude < 0) {
latOutput = "W";
} else {
latOutput = "E";
}
return (this.Latitude + latOutput + " " + this.Longitude + longOutput + " " + this.Altitude + "m");
}
public double distance (GPSPosition that) {
return (Math.sqrt ((this.Latitude - this.Longitude) + (that.Longitude - that.Latitude)));
}
}
は私のテストプログラムです:
package practiceProblems;
import practiceProblems.GPSPosition;
public class TestGPS {
public static void main (String[] args) {
// Positions
GPSPosition position = new GPSPosition (-37.2, 87.2, 200.0);
GPSPosition position2 = new GPSPosition (37.2, 7.2, 100.0);
// Set
position.setAltitude (200.0);
position.setLatitude (-37.2);
position.setLongitude (87.2);
// Get
position.getAltutude();
position.getLatitude();
position.getLongitute();
// Compare to
position.compareTo (position2);
// To String call
position.toString();
// Distance between two positions
position.distance (position2);
}
}
期待している出力は何ですか? –
すべてのリターンステートメントは? – Andrew
しかし、 'string positionStr = position.toString();'のように変数を宣言する必要があります。 –