Als ein neuer Programmierer, ich weiß nicht, wie Methoden wirklich funktionieren. Aber wenn ich Object
benutze, können sie mir irgendwelche int, float oder double Wert geben? Und kann es als Integer, Float, Double! Bitte hilf mir. Vielen Dank.Ich habe versucht, ein Balance-System in meinem JAVA-Programm hinzuzufügen, aber ich scheiterte
import java.util.Scanner;
public class ProjectBookShop {
static Scanner scan= new Scanner(System.in);
static String[] books = {"Java", "C", "CSS"};
static final double studentDiscount = 0.3;
static final double teacherDiscount = 0.4;
static final double alienDiscount = 0.0;
static final int balance = 150;
public static void main(String[] args) {
prln("<---- WELCOME TO OUR BOOK SHOP --->");
prln("Today we are offering you" +balance + "Taka");
prln("Which books do you want:\n Ans:");
String usersChoice= scan.nextLine();
if(books[0].toLowerCase().equals(usersChoice.toLowerCase()))
{
prln("You opted for Java.");
calculatePrice(books[0]);
//Problem starts from this line.
if(balance => showPrice(calculatePrice(books[0])))
{
prln("You are eligible for buying this book!");
}
}else if(books[1].toLowerCase().equals(usersChoice.toLowerCase()))
{
prln("You opted for C.");
calculatePrice(books[1]);
}else if(books[2].toLowerCase().equals(usersChoice.toLowerCase()))
{
prln("You opted for Css.");
calculatePrice(books[2]);
}
else
{
prln("We dont have this book.");
}
}
// These are called methods!
static void calculatePrice(String bookName)
{
double price = 200;
prln("Are you a student, teacher or alien:\n Ans:");
String answer = scan.nextLine();
if(answer.toLowerCase().equals("student"))
{
price = price - (price*studentDiscount);
showPrice(price);
}else if(answer.toLowerCase().equals("teacher"))
{
price = price - (price * teacherDiscount);
showPrice(price);
}else if(answer.toLowerCase().equals("alien"))
{
price = price - (price * alienDiscount);
showPrice(price);
}else
{
prln("We dont offer any books for you!!");
showPrice(price);
}
}
static void showPrice(Object price)
{
prln("Your total price will be: "+ price);
prln("<---- Thanks for shoping with us. --->");
}
static void prln(Object anyObject)
{
System.out.println(anyObject);
}
static void pr(Object anyObject)
{
System.out.print(anyObject);
}
}
Die Methode 'showPrice' einen beliebigen Wert nicht zurück. Daher kann es nicht in einem Vergleich verwendet werden. Tatsächlich gibt 'calculatePrice' auch keinen Wert zurück und kann daher nicht als Parameter für' showPrice' verwendet werden. Und 'calculatePrice' ruft' showPrice' auf, was ebenfalls ein Problem darstellen könnte. – KevinO
'Rückgabepreis' aus' calculatePrice' und verwenden Sie es als Ihren Vergleich. Das ist eigentlich Schritt 2, Schritt 1 (leider) soll auf die Grundlagen von Java eingehen. Es wird Ihnen viele Kopfschmerzen in der Zukunft ersparen. – zgc7009
Aaah !! Beginne dieses Projekt, bevor du Rückgabetypen lernst !! :(Ich dachte, es könnte einfach sein !! By the way, Danke für die Hilfe !! :) – Sid