如何将input应用到set方法,另外一种情况是在main之外输入?

问题描述 投票:0回答:0

又是我。这次我需要获取用户输入,将它们插入各种设置方法,并输出一个值。这听起来很简单,尽管作业说明让它看起来更难。

深度: 我需要在 main() 中声明 4 个“Lease”对象,然后三次调用“getData”方法。然后我需要为 main() 中的每个字段返回一个值。所以至少对我来说,显而易见的下一步是用输入初始化字段。 但是。 我不认为这是可能的(假设代码):

Lease ls = new Lease();
Scanner input = new Scanner(System.in);
String name = input.nextLine();
ls.setName(name);
//or 
ls.setName(input.nextLine());
//or
ls.setName() = input.nextLine;

我认为这些都行不通,至少我在那里使用它们的方式行不通。所以这里需要更实际的思考方式

对于上下文,这是我的两个程序:

class Lease {
    public static void main(String args[]){
    }
    private String name;
    private int aptNumber;
    private double rent;
    private int term;
    private static final int FEE = 10;

    public Lease() {
        name = "XXX";
        aptNumber = 0;
        rent = 1000.0;
        term = 12;
    }

    public void setName(String tenant) {
        name = tenant;
    }

    public void setAptNumber(int apt) {
        aptNumber = apt;
    }

    public void setRent(double monthRent) {
        rent = monthRent;
    }

    public void setTerm(int t) {
        term = t;
    }

    public String getName() {
        return name;
    }

    public int getAptNumber() {
        return aptNumber;
    }

    public double getRent() {
        return rent;
    }

    public int getTerm() {
        return term;
    }

    public void addPetFee() {
        rent = rent + 10;
        explainPetPolicy();
    }

    public static void explainPetPolicy() {
        String policy = "A pet fee of $10 is added to the monthly rent.";
    }
}
import java.util.Scanner;
class TestLease
{
   public static void main (String args[])
   {
     // Write your code here
     Lease ls = new Lease();
     ls.setName(tenant);
     ls.setAptNumber(apt);
     ls.setRent(monthRent);
     ls.setTerm(t);
    
   }
   public static void showValues(Lease ls)
   {
      System.out.println("\n\nYour lease results:" +
         "\nName      : " + ls.getName() +
         "\nApartment : " + ls.getAptNumber() +
         "\nRent      : " + ls.getRent() +
         "\nTerm      : " + ls.getTerm());
   }
   public static Lease getData(String tenant, int apt, double monthRent, int t)
   {
     // Write your code here
     Scanner input = new Scanner(System.in);

     System.out.print("Enter lessee name >> ");
     tenant = input.nextLine();

     System.out.print("Enter apartment number >> ");
     apt = input.nextInt();

     System.out.print("Enter rent >> ");
     monthRent = input.nextDouble();

     System.out.print("Enter lease term in months>> ");
     t = input.nextInt();
   }
}

这就是我目前拥有的。我不确定从这里开始做什么,或者即使我到目前为止所知道的是正确的。我觉得我缺少 getData() 的返回语句,当然,编译它会给我“找不到符号”错误。

即使是像

return tenant;
这样的东西,除了犯更多的错误之外,也没什么用。我将不胜感激任何帮助,即使只是建议

java user-input setter
© www.soinside.com 2019 - 2024. All rights reserved.