我必须制作一个程序,接收宠物信息的输入,并以特定的方式输出
通常情况下,这将是一个蛋糕,需要10分钟,但我们刚刚进入OOP,我很难弄清楚应该在驱动程序的变异器中放入什么。
司机:
import java.util.HashSet;
import java.util.Set;
public class JMPets {
private String petType;
private String petName;
private int petAge;
private double petWeight;
boolean isMale;
public void setType(String petType)
{
this.petType = petType;
}
public void setName(String petName)
{
this.petName = petName;
}
public void setAge (int petAge)
{
this.petAge = petAge;
}
public void setWeight(double petWeight)
{
this.petWeight = petWeight;
}
public String getType()
{
return petType;
}
public String getName()
{
return petName;
}
public int getAge()
{
return petAge;
}
public double getWeight()
{
return petWeight;
}
public void set(String petType, String petName, int petAge,
double petWeight)
{
//WHAT DO I PUT HERE
}
}
import java.util.Scanner;
public class JMUnit6 {
public static void main(String[] args) {
JMPets myPet1 = new JMPets();
JMPets myPet2 = new JMPets();
JMPets mypet3 = new JMPets();
Scanner stdIn = new Scanner(System.in);
System.out.println("Welcome to the Java Pet Tracker");
System.out.println("Please enter the type of Pet #1:");
String petType = stdIn.nextLine();
System.out.println("Please enter the name of Pet #1:");
String petName = stdIn.nextLine();
System.out.println("Please enter the age of " +petName+":");
int petAge = stdIn.nextInt();
System.out.println("Please enter the weight of "+petName+":");
double petWeight = stdIn.nextDouble();
System.out.println("Is "+petName+" Male?:");
boolean isMale = stdIn.nextBoolean();
myPet1.set(petType, petName, petAge, petWeight);
System.out.println(myPet1.getType());
System.out.println(myPet1.getName());
System.out.println(myPet1.getAge());
System.out.println(myPet1.getWeight());
}//end main
}//end class JMUnit6
我得到的唯一输出是null 0.0。
这是一个让你理解构造函数和变种的练习。您可以使用访问器测试您的实现。
这篇文章介绍了一些基本知识。Java——使用访问器和Mutator方法
官方教程也有效,但更重要的是——构造函数。
至于你的评论,以下是一些指导原则。
对于第一个pet,使用默认构造函数并使用适当的mutator方法来设置所有变量
JMPets myPet1 = new JMPets(); // use the default constructor
System.out.println("Please enter the type of Pet #1:");
String petType = stdIn.nextLine();
myPet1.setType(petType); // use proper mutator methods to set all variables
// TODO: stdIn.nextLine for remainder of values. Use the 'individual' set methods
对于第二个pet,使用接受类型作为参数的单参数构造函数,并对所有其他值使用适当的mutator方法
(在实现此构造函数之前不会编译)
System.out.println("Please enter the type of Pet #2:");
String petType = stdIn.nextLine();
JMPets myPet2 = new JMPets(petType); // TODO: Implement this
System.out.println("Please enter the name of Pet #2:");
String petName = stdIn.nextLine();
myPet2.setName(petName); // use proper mutator methods for all other values
// TODO: stdIn.nextLine for remainder of values. Use the 'individual' set methods
对于第三个宠物,使用一个接受所有值作为参数的构造函数
同样,和以前一样的问题,需要一个构造函数(见最后一行)。
System.out.println("Please enter the type of Pet #3:");
String petType = stdIn.nextLine();
System.out.println("Please enter the name of Pet #3:");
String petName = stdIn.nextLine();
System.out.println("Please enter the age of " +petName+":");
int petAge = stdIn.nextInt();
System.out.println("Please enter the weight of "+petName+":");
double petWeight = stdIn.nextDouble();
JMPets mypet3 = new JMPets(petType, petName, petAge, petWeight);
现在,如果你在一个方法中完成这一切,你会得到已经定义了变量的错误。
例如
String name = "bob";
String name = "sally"; // <--- Error. 'name' already defined.
相反,只需重新分配name="sally";
,第二次不需要String name
看看你的二传手,你已经有了答案。
this.petType = petType;
this.petName = petName;
this.petAge = petAge;
this.petWeight = petWeight;
您可能还缺少了isMale
。
我有一个Spring应用程序,在IDE和本地mariadb中运行良好,在POM中使用mariadb 2.7.4,如下所示,但我在Ubuntu上运行它时出现了第二个错误。我已经删除了mysql连接器,但仍然存在问题。为什么会出现差异和问题? 原因:组织。springframework。豆。BeanInstationException:未能实例化[com.zaxxer.hikari.HikariDat
的配置在中正确 我还使用cli检查了 null Kubernetes版本(使用):1.7.3 云提供商或硬件配置**:4核16G RAM 操作系统(例如来自/etc/os-release):CentOS Linux 7(核心) 内核(例如):Linux 10-8-108-92 3.10.0-327.22.2.el7.x86_64#1 SMP Thu Jun 23 17:05:11 UTC 2016
我正在使用appium来自动化android应用程序。在这种情况下,无法对文本字段执行sendkeys():单击Add Customer选项。翻开了新的一页。我正在尝试在文本字段中输入值。我能够使用XPath找到页面上的文本字段。我可以点击文本字段。但是当我执行sendkeys()时,它失败了。参考下面的截图。 链接:2-添加客户-打开新页面(第2页)并尝试输入详细信息
问题内容: 我正在尝试使用servlet上的Java驱动程序连接到mlab上托管的MongoDB数据库。 问题是我遇到以下错误: 我看了一个答案(如何解决ClassNotFoundException:com.mongodb.connection.BufferProvider?),该答案向我强调了我需要其他jar,自从我下载了这些jar之后,仍然出现此错误。 我正在使用Eclipse并将这三个jar
当我运行这个错误时,请帮助我解决这个问题 启动应用程序上下文时出错。要显示条件,请报告启用“调试”后重新运行应用程序。2019-02-11 10:53:55.839错误8804 --- [ restartedMain]o. s. b. d.日志失败分析记者: 应用程序启动失败 说明: com中的字段userDao。实例Spring Security应用程序编程接口。服务UserServiceImp
我试图使用servlet上的Java驱动程序连接到托管在mlab上的MongoDB数据库。 问题是我得到以下错误: 这样做对吗?我还应该做什么/代替吗?