À l'aide de méthodes getter et setter en Java

Essayer de créer un projet qui utilise la saisie de l'utilisateur et les informations de déterminer combien une voiture de location, les coûts par jour. Le problème, je vais avoir, c'est la location de voitures de classe ne semble pas être obtenir l'entrée à partir de la classe de test. Vous ne savez pas comment le résoudre.

classe de location de voitures

public class CarRental {
private String customerName;
private String ratingKey;
private double baseFactor;
private double basefactor;
private double fudge;
private double computeDailyFee;
public CarRental(String customerName, String ratingKey, double baseFactor, double fudge, double computeDailyFee) {
this.customerName = customerName;
this.ratingKey = ratingKey;
this.baseFactor = baseFactor;
this.basefactor = basefactor;
this.fudge = fudge;
this.computeDailyFee = computeDailyFee;
//intitialize
}
public String getcustomerName() {
return this.customerName;
}
public String getratingKey() {
return ratingKey;
}
public void setcustomerName(String newCustomerName) {
customerName = newCustomerName;
System.out.println(customerName);
}
public void setratingKey(String newRatingKey) {
ratingKey = newRatingKey;
System.out.println(ratingKey);
}
public double baseFactor() {
switch (ratingKey.charAt(0)) {
case 'S':
baseFactor = 1.0;
break;
case 'C':
baseFactor = 1.2;
break;
case 'U':
baseFactor = 1.4;
break;
case 'T':
baseFactor = 1.6;
break;
case 'B':
baseFactor = 2.0;
break;
default:
System.out.println("Invalid type");
break;
}
System.out.println(baseFactor);
return baseFactor;
}
public double fudge() {
switch (ratingKey.charAt(1)) {
case 'N':
fudge = 11.40;
break;
case 'V':
fudge = 0;
break;
default:
System.out.println("Invalid type");
break;
}
System.out.println(fudge);
return fudge;
}
public double computeDailyFee() {
computeDailyFee = (baseFactor() * (89.22 - fudge()));
System.out.println(computeDailyFee);
return computeDailyFee;
}
}

classe RentalTest

public class RentalTest {
public static void main(String[] args) {
CarRental rental = new CarRental("customerName", "ratingKey", 0.0, 0.0, 0.0); 
String newCustomerName = rental.getcustomerName();   
String newCustomerName = JOptionPane.showInputDialog("Enter your name");
//System.out.println(newCustomerName);
RentalTest rentaltest = new RentalTest();
JOptionPane.showMessageDialog(null, "Input code for model, then code for condition (No Spaces)");
String newRatingKey = JOptionPane.showInputDialog(
"Models: 'S' = Sub-compact   'C'=Car   'U'=SUV   'T'=Truck   'B'=Bigfoot\n"
+ "Condition: 'N'= New   'V' = Vintage");
newRatingKey = newRatingKey.toUpperCase();
//System.out.println(newRatingKey);
}
}
  • Vous avez un problème avec String newCustomerName = getcustomerName;. Est-ce de la compilation?
  • Vous n'avez jamais déclaré et instancié un CarRental objet. Qui devrait être sur le seul domaine dans votre méthode principale.
  • Pouvez-vous nous donner le code qui compile, mais fonctionne de façon incorrecte? Je ne peux pas faire ici votre code de la compilation.
  • cette habitude même de la compilation
  • Pas de. Je ne comprends pas vraiment comment utiliser ces méthodes dans des classes différentes, j'ai juste mis qu'à essayer d'appeler la méthode get. N'a pas fonctionné.
  • A pris cette ligne, il compile maintenant
  • Avez-vous le compiler, ou êtes-vous juste deviner?
  • J'ai compilé. Il affiche les invites au moins, et ne donnent pas toutes les erreurs.
  • Ensuite, vous devez avoir un autre aller à la collant; car le code qui est actuellement dans votre question n'a absolument PAS compiler.
  • Il l'a fait quand j'ai d'abord déclaré qu'il compile. Les lignes qui ont été ajoutées sont les lignes suggérées par SlightlyCuban (ci-dessous). Sauf ceux, ça compile, mais ne fait pas ce que je veux faire.
  • J'aurais aimé être en mesure de ramasser votre code, de les exécuter, peut-être l'aide d'un débogueur et que le fait de savoir quel est le problème avec elle. Mais si le code que vous publiez dans votre question est différente à partir du code que vous êtes effectivement en cours d'exécution, il est BEAUCOUP plus difficile de le faire, et donc pour vous aider. Je ne suis pas en train de venir à travers comme en colère; je suis en train de vous donner la meilleure aide que je peux. Mais la publication de code que le code qui est en fait en vous donnant le problème est plus difficile pour tout le monde. Si vous voulez les gens à vous aider, il vous aide à les aider.

InformationsquelleAutor user2854982 | 2013-10-30