与构造函数,方法,对象和类越来越混淆

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

我正在学习Java语言的构造函数以及对象和方法。我理解非参数和参数构造函数之间的区别,但是我在代码上遇到了一个似乎无法弄清的问题。

我正在编写用于捕获注册信息的代码。我创建了一个class CompetitionEntry,并在类内部插入了2个私有属性,分别为private String projecTitle;private int teamSize;,以及一个类属性,分别为double feePerParticipant = 6.50;和初始值$ 6.50。

然后创建一个无参数的构造函数,并将其初始化为projectTitle = "N/A";teamSize = 0;。重载的构造函数,使用传入的参数初始化属性。

并且我为属性teamSize创建了Mutator和Accessor方法,但是我想确保它只包含正值。最后,我通过将teamSizefeePerParticipant相乘来创建方法调用computeTeamFee(),该调用返回总费用

我想让我的代码从computeTeamFee();方法中获得团队总费用的输出,但我似乎找不到问题所在,并且我需要初始化对象(使用构造函数)

标题的值是“ Super Tech”团队人数为5

而且我只能从objects方法更改为更改值并显示输出。

请帮助我。我越来越困惑了。

public class CompetitionEntry {

     private String projectTitle;
     private int teamSize;

     double feePerParticipant = 6.50;

     public CompetitionEntry () {

         this.projectTitle = "N/A";
         this.teamSize = 0;

      }

     public void setTeamSize(int teamSize) {

          //This part i not to sure how to read only positive value.
          if (this.teamSize <= 0) {

               System.out.println ("Negative value are not acceptable.")

          }
          else {

          this.teamSize = teamSize;

          }
     }

     public int getTeamSize() {
          return teamSize;
     }


     public double computeTeamFee() {

          double totalFee;
          totalFee = this.teamSize * feePerParticipant;

          return totalFee;

     }                  

     public static void main(String[] args) {

         CompetitionEntry obj = new CompetitionEntry ("Super Tech","5");  

         System.out.println("Title: " + obj.projectTitle);
         System.out.println("Team Size: " + obj.teamSize);


      } 
}
    

我正在学习Java语言的构造函数以及对象和方法。我了解了非参数和参数构造函数之间的区别,但是我的代码遇到了一个问题,我似乎无法......>

java class object constructor private
3个回答
0
投票

似乎您没有收到任何用户输入,所以也许看看https://www.w3schools.com/java/java_user_input.asp

而且,您的构造函数没有任何参数,因此您应该将构造函数更改为:


0
投票

当创建CompetitionEntry对象时,您为其输入参数“ Super Tech”和“ 5”。


-1
投票
CompetitionEntry obj = new CompetitionEntry();
obj.setTeamSize(5);

System.out.println("Team Size: " + obj.teamSize);
© www.soinside.com 2019 - 2024. All rights reserved.