输出的方法和问题

Methods and problems with output

提问人:Hail_World 提问时间:11/6/2023 最后编辑:Roman CHail_World 更新时间:11/7/2023 访问量:46

问:

我正在尝试学习 Java 技术。 这个代码有什么问题,为什么我不能打印任何东西?


public class CarLoan {
int carLoan = 10000;
int loanLenght = 3; //This will represent a loan length of 3 years.
int interestRate = 5; //This will represent an interest rate of 5% on the loan
int downPayment = 2000; //This will represent the down payment provided by a user for this car purchase.


 public CarLoan() {
    if (loanLenght <= 0 && interestRate <=0) {
      System.out.println("Error! You must take out a valid car loan");
    } else if (downPayment >= carLoan){
      System.out.println("The car can be paid in full");
    }else{
      int remainingBalance = carLoan - downPayment; 
      int months = loanLenght * 12;
      int monthlyBalance = remainingBalance / months; 
      System.out.println("false");
    }
 }



public static void main(String[] args) {
CarLoan masterTask = new masterTask();
System.out.println(CarLoan);
}
}


我尝试更改方法,制作它并在其中列出变量。void

Java Methods 构造函数

评论

1赞 David 11/6/2023
欢迎来到 Stack Overflow!您的代码在哪些方面未按预期工作?请详细说明您观察到的具体问题以及您所做的调试。要了解有关此社区的更多信息以及我们如何为您提供帮助,请从导览开始并阅读如何提问及其链接资源。
2赞 David 11/6/2023
作为猜测......方法中的两行都没有任何意义。您声明一个类型的变量并尝试创建一个类型的对象(此处未显示),然后尝试打印?你刚才是这个意思吗?mainCarLoanmasterTaskCarLoanSystem.out.println(new CarLoan());
0赞 rzwitserloot 11/6/2023
你似乎很困惑,写东西时没有清楚为什么或如何写东西。编程是困难的,我们都是从某个地方开始的,但是当事情不起作用并且错误指向你只是输入一些东西希望它能起作用的地方时,我建议你尝试理解它,或者搜索教程来专注于它。
0赞 rzwitserloot 11/6/2023
它。 - 规定存在可以引用 CarLoan 对象的引用(如地址簿中的页面)。我们将命名它。 创建一个新的 CarLoan 实例。 - 将这个新创建的实例的地址写在我们调用的地址簿页面上(masterTask,变量,引用新实例)System.out.println(masterTask)' - 调用 println。复制您的参考资料,并将其与通话一起传递。CarLoan masterTask = new CarLoan(); System.out.println(masterTask);CarLoan masterTask;masterTasknew CarLoan()=masterTask. masterTask
0赞 Pshemo 11/6/2023
“这个代码有什么问题,为什么我不能打印任何东西?”你好。是什么让你认为你的代码有问题?你能解释一下你期望发生什么,而不是会发生什么吗?您是否遇到编译错误、运行时异常或其他一些意外行为?为了帮助您将来提出更好的问题,请考虑阅读这篇关于在“不起作用”时提出问题的文章

答:

1赞 Roman C 11/6/2023 #1

masterTask是 类型的变量。当您尝试创建 的实例时,您在语句中遗漏了它。CarLoanCarLoan

public static void main(String[] args) {
CarLoan masterTask = new CarLoan();
System.out.println(masterTask);
}

然后,您应该创建一个方法来打印对象。toString()


您还误解了 Java 中构造函数的用途。它不用于进行计算。如果你希望一个对象正在做某事,那么你应该创建一个方法,然后在创建对象的实例时调用这个方法。变量将对象的实例保留为引用,并可用于调用此对象的方法。

public String makeCarLoan() {
  String result;
    if (loanLenght <= 0 && interestRate <=0) {
      result = "Error! You must take out a valid car loan";
    } else if (downPayment >= carLoan){
      result = "The car can be paid in full";
    }else{
      int remainingBalance = carLoan - downPayment; 
      int months = loanLenght * 12;
      int monthlyBalance = remainingBalance / months; 
      result = "false";
    }
    return result;
 }

然后,您可以重写以前的代码

public static void main(String[] args) {
CarLoan carLoan = new CarLoan();
System.out.println(carLoan.makeCarLoan());
}
0赞 Reilas 11/7/2023 #2

"...这个代码有什么问题,为什么我不能打印任何东西?..."

您的声明不正确。

CarLoan masterTask = new masterTask();

而是创建一个新的“CarLoan”。

CarLoan masterTask = new CarLoan();

此外,将 masterTask 发送到 println,而不是 CarLoan

System.out.println(masterTask);