私のJavaプロジェクトには2つのオブジェクトがあり、各オブジェクトからフィールドを取得したいとします(たとえば、2つのホテルルームがあります。フィールド "価格")とメソッドに入れて変数を返します(前の例では2つの部屋の違いを言いましょう)。私の主な質問は、メソッドを作成した後で、どのようにメインクラスで呼び出すのですか? 私は試しましたが(以下のコード)、正しくはないことを知っています。あなたが私にそれをする方法やアドバイスをすることができれば、本当に役立つでしょう。Javaの2つのオブジェクトフィールドの違いを取得する方法
difference = priceDifference(roomA.price, roomB.price);
完全なコード メインクラス
package project1;
import java.util.Scanner;
public class TestRoom {
public static void main(String[] args) {
String roomNumber, category, view;
int numberOfBeds;
double price;
double difference;
Room roomA = new Room("C101",2,"Standard","Sea",95.89);
Scanner sc = new Scanner(System.in);
System.out.println("Give room number \n");
roomNumber=sc.next();
System.out.println("Give number of beds \n");
numberOfBeds=sc.nextInt();
System.out.println("Give category \n");
category=sc.next();
System.out.println("Give view \n");
view=sc.next();
System.out.println("Give price \n");
price=sc.nextDouble();
Room roomB = new Room(roomNumber, numberOfBeds, category, view, price);
System.out.println(roomA.toString());
System.out.println(roomB.toString());
difference = priceDifference(roomA.getprice(), roomB.getprice());
}
}
クラスルーム
package project1;
public class Room {
public String roomNumber;
public int numberOfBeds;
private String category;
private String view;
private double price;
public Room(String roomNumber, int numberOfBeds, String category, String view, double price){
this.roomNumber = roomNumber;
this.numberOfBeds = numberOfBeds;
this.category = category;
this.view = view;
this.price = price;
}
public void setroomNumber(String roomnumber){
this.roomNumber = roomnumber;
}
public String getroomNumber(){
return this.roomNumber;
}
public void setnumberOfBeds(int numberofbeds){
this.numberOfBeds = numberofbeds;
}
public int getnumberOfBeds(){
return this.numberOfBeds;
}
public void setcategory(String category){
this.category = category;
}
public String getcategory(){
return this.category;
}
public void setview(String view){
this.view = view;
}
public String getview(){
return this.view;
}
public void setprice(double price){
this.price = price;
}
public double getprice(){
return this.price;
}
public double priceDifference(double double1 ,double double2){
double difference = 0;
difference = double1 - double2;
return difference;
}
@Override
public String toString() {
return "Room number:" + this.roomNumber + ",\n "
+ "Number of beds:" + this.numberOfBeds + ",\n " + "Category:"
+ this.category + ",\n " + "View:" + this.view + ",\n " + "Price:" + this.price;
}
}
これはpriceDifferenceメソッドです(これはコンストラクタルームのセッターとゲッターを持つクラス "Room"にありますが) "このメソッドはTestRoom(main)タイプでは未定義です public double getpriceDifference(ダブルダブルサイズ、ダブルダブルサイズ){ \t \t \t \t二重差= 0; \t差=ダブルサイズ - ダブルサイズ; \t \tリターン差; \t}とき –
@sotosbicあなたは方法と同じ方法をスペルしていますあなたがdefをしたときと同じようにそれ?ここであなたのコードでは、 "getpriceDifference(..."と書かれたあなたの質問では、ちょうど "priceDifference(..." – RaceYouAnytime
)と書いてありますが、それはPUBLICメソッドを2倍のgetpriceDifference(double1、double2) 2つの価格の間にある。私はpriceifferenceがメソッドの名前だと思って、このメソッドのgetterのようなものです(私はJavaで初心者ですので、私はまだJavaで快適ではありません) –