Erstellen Sie ein Programm, mit Buch Klasse und TestBook-Klasse in Java
Ich versuche zu erstellen java-Programm, das ermöglicht dem Benutzer, geben Sie das Buch
Anzahl und zeigt das Programm den Preis des Buches gewählt. Ich habe
erstellt wurde das Buch Klasse und es gibt keine syntax-Fehler, aber die meisten
wahrscheinlich gibt es den Logik-Fehler und die Klasse TestBook hat Fehler
in Berufung auf den Eingang. können Sie mir helfen? im lost 🙁 hier mein code:
class Book{
String title;
String author;
double price;
int option;
//constructor
Book(String title, String author, double newPrice){
title = title;
author = author;
price = newPrice;
}
public String getTitle(){
return title;
}
public String getAuthor(){
return author;
}
public double getPrice(){
return price;
}
public int getOption(){
return option;
}
public void setPrice(int option, double price, double newPrice){
if (option == 1){
price = 20.00;
newPrice = price;
}
else if (option == 2){
price = 15.00;
newPrice = price;
}
else if (option == 3){
price = 23.90;
newPrice = price;
}
else if (option == 4){
price = 27.30;
newPrice = price;
}
else if (option == 5){
price = 50.00;
newPrice = price;
}
else if (option == 6){
price = 13.50;
newPrice = price;
}
}
public void setOption(int newOption){
option = newOption;
}
}
Dem TestBook Klasse
import java.util.Scanner;
public class TestBook{
public static void main (String[]args){
Scanner input = new Scanner (System.in);
//The Book List
System.out.println("The Book List");
System.out.println("1)How to do programming 12th Edition by Liang.\n2)Malaysian Food Recipe by Nadia Bt Mahmud.\n3)What is Islam by Ustad Manzoor Malik.\n4)Urban Legend by Christine R.M.\n5)Fundamental of Calculus by Prof. Abu.\n6)How to raise your kids by Salsabila\n");
System.out.println("Choose your book number to know the price: ");
int option = input.nextInt();
Book b1 = new Book(theOption(option);//invoke the option to get the price
System.out.println("The price is: "+ b1.getPrice);
}
//Method option
public static int theOption(int option){
return option;
}
}
- Können Sie die spezifische Probleme/Fehler, die Sie erhalten?
- Sie ruft Konstruktor von Buch mit einem argument,nicht sehen, dass in der Klasse geteilt
- "der Wert der lokalen variable nicht verwenden" dies ist der Fehler in meinem TestBook Klasse
- Nach weiteren Details wie Bearbeitungen, die Sie auf die Frage und nicht als Kommentare.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vergessen Sie
()
in Ihrer Methode Aufrufe :Ersetzen
mit
Neben diesem Fehler, Sie ruft einen Konstruktor, der nicht existiert :
Ihrem Buch Konstruktor 3 Parameter. Und Sie haben ein zusätzliches
)
in, call.new Book(..)
Sie erstellen eine Book-Instanz. Sie müssen haben ein Buch mit dem Konstruktor mit Parametern passend zu den Parameter, den Sie übergeben, dienew Book(...)
nennen.Gibt es eine Menge Probleme mit Ihrem code.
Fragen Sie Sie für die Eingabe auf ein Buch, aber nicht mit einem switch oder if-Anweisung zu verwenden, die Eingabe. Sie werden immer drucken immer alle drei Ausgänge, unabhängig davon, was der Benutzer eingibt.
Haben Sie einen Konstruktor für das Buch-Objekt mit zwei Parametern, sondern wird beim Aufruf des Konstruktors mit Buch b1 = new Buch(1) verwenden Sie nur eine. Dies wird dir eine Fehlermeldung geben, es sei denn, Sie haben einen Konstruktor mit nur einem parameter.
In Ihrer Funktion SetPrice, Sie spiegeln Ihre Objekt-Variablen, welche menas die lokale Kopie des Preises erhalten den neuen Wert, nicht das Objekt kopieren Preis.
Gibt es mehr, aber diese erhalten Sie begann.